折腾了好几天。。。总结下最近接触到的各种转换工具
1.vbs 需要安装EXCEL
调用vbs脚本完成转换,需要安装EXCEL
代码类似:
sub csv()
const xlCSV = 6
Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Open("D:\Testsheet.xlsx")
objExcel.DisplayAlerts = FALSE
objExcel.Visible = TRUE
Set objWorksheet = objWorkbook.Worksheets("Sheet1")
objWorksheet.SaveAs "D:\test.csv", xlCSV
objWorksheet.ActiveWorkBook.Saved = True
objExcel.Quit
end sub
参考:http://www.it1352.com/585708.html
2.flash 似乎不依赖EXCEL
这个倒是没想到,具体的过程大概是:
把xlsx读出ByteArray,用http://riaoo.com的zipFile解压,然后从解压完的BtyeArray里按UTF读出String
具体没试,至于最终形式,怎么方便怎么来
3.C#
不依赖EXCEL方式:
调用NPOI,NPOI是一个开源的Java读写Excel、WORD等微软OLE2组件文档的项目。至于C#还是Java版本就自行选择了
调用NPOI,加上多线程之后,看起来解析的速度挺快的
参考:http://www.cnblogs.com/stone_w/archive/2012/08/02/2620528.html
http://www.cnblogs.com/qisheng/p/3441902.html?utm_source=tuicool&utm_medium=referral
http://www.cnblogs.com/knowledgesea/archive/2012/11/16/2772547.html
http://blog.csdn.net/pan_junbiao/article/details/39717443
依赖EXCEL方式:
Excel.Application ~~~具体用法百度
4.python 不依赖EXCEL
python有很多库可以操作EXCEL,我用的是pandas,配合wxPython的界面
写二进制的时候,数据量太大,导致界面卡死,所以用了另外一个线程写byte
5.xlsx保存成EXCEL的xml格式
用php模板格式化为json,因为本身就是可以直接读的文本,所以各种方式解析都是可以的
python的效率让我有点失望,感觉字符处理速度还比不过as3,优化了一下,勉勉强强先用着
NPOI的效率配合多线程,应该是最快的
所有不依赖EXCEL的方式,XLSX打开着也是不受影响的。。。相对而言还是方便很多
不过这些似乎只考虑一个excel的单张表,降低组织复杂性,方便自动化操作