用XML操作Excle文件
在项目中有时候需要将数据输出到Excle,办法很多,比如说用ADO,但是这些都不能满足性能上的要求,如果你将10W条数据用ADO方式写入数据库,速度是很慢的。而且还不能对生成的Excle设置格式。
一个偶然的机会,我发现将Excle档保存为XML(表格),然后用记事本打开就会发现,整个文件就是一个XML数据.对这个文件进行操作还能得到复杂的效果,比如:合并单元格,字体,颜色,甚至是为单元格设置公式。
比如这样的:
一些值得注意的地方:
一 .文件头部有以下信息:
<?xml version="1.0"?> <?mso-application prog> <Unsynced/> <Selected/> <Panes> <Pane> <Number>3</Number> <ActiveRow>6</ActiveRow> </Pane> </Panes> <ProtectObjects>False</ProtectObjects> <ProtectScenarios>False</ProtectScenarios> </WorksheetOptions> </Worksheet>
这些一般用处不大,没有仔细研究.
其他:在程序中可以用TinyXML来操作XML,另外还有编码问题要考虑,文件保存为*.xml,你发现即使安装的Excle,这个问默认的打开方式可能也不是Excle,有个技巧,将你文件的头部插入2 个字节,内容为[0xFF,0xFE].