今天想试试用 erlang/elixir 通过 odbc 读 excel, 结果...
从 erlang mail list
http://erlang.org/pipermail/erlang-questions/2009-April/043094.html
这里读到可以通过 odbc 来读 excel, 就不用再去读 excel 的各个版本的 format(几百页...) 了
立即着手去找 excel 的 odbc driver, 结果只找到一个 cdata 出的商业版的,
立即下载试用, 安装后照着目录里带的 help.htm 操作了一波装好 driver
先试一波 excel 2003, 即 xls
1 | 1> odbc:start(). |
歇菜...
再试一波 excel 2007+, 即 xlsx
1 | 1> odbc:start(). |
成功了, 我的excel内容是这样的
head1 | head2 | head3 | head4 | head5 |
---|---|---|---|---|
a2 | 100 | c2 | d2 | e2 |
a3 | b3 | c3 | d3 | e3 |
看来它是把每一个字符变成 32bit 的 binary 给我返回来了, 表头的 "RowId"也不知道是啥
总之算不上很好用, 而且这个 CData 还是 commercial 的
odbc driver
网上逛了很久发现第三方的厂商主要就是 cdata 和 devart 两家, 都是商用的
其他就是官方的, 比如 mysql, mariadb, sql server 各家自己出的
参考链接
excel 的 format 链接如下:
http://www.openoffice.org/sc/excelfileformat.pdf
odbc相关链接