作者:乔山办公网日期:
返回目录:office365
有的 C# 读取excel 文件,导入数据,导出数据,都可以得,不用安装 Office
有第三方的EXCEL互操作组件....
比如 ComponentOne的控件,其中有一个是用于生成带格式的EXCEL文件, 经测试,无需安装OFFICE
没有解决办法,除非别的机器也安装同版本的office,给你介绍个Excel操作类库,叫NPOI可以再机器不装office情况下 读写,生成Excel
Excel 2003的文件格式规范说明:http://msdn.microsoft.com/en-us/library/cc313154(office.12).aspx。这个规范实际上应该也同样适用于Excel 2003之前的各个版本。
不过楼主要注意的是,Excel 2003的文件格式是所谓的的“Binary File Format”——二进制文件格式。意思是说你如果要分析(或者创建)这个格式的文件,基本上就必须按照一个字节一个字节、一个数据结构一个数据结构这样的方式去解析或者构建了。微软并没有为这个格式提供什么特别的读写SDK,所以你只能硬着头皮去解读这个长达1196页的文档格式,去自己分析一个个数据结构。或许网上能找到一些号称可以解析或者生成Excel的库,但是多半要收费或者不好用,希望可能也不大。
从Excel 2007开始,文件格式变成了Open XML,基本上就是一个ZIP文件里面打包了一堆XML文件和相关的资源。这个格式的解析和生成相对来说就要容易得多。一方面,处理ZIP和XML的代码、免费库等比比皆是;另一方面,微软提供了很全面的Open XML SDK,可以很方便的解析和生成文档。
Excel 2007(以及Excel 2010)的文件格式规范说明:http://msdn.microsoft.com/en-us/library/dd922181(office.12).aspx。这个规范说明总共也就e69da5e887aae799bee5baa6e997aee7ad94366210页,而且如果你使用SDK的话,或许也并不需要去很详细地阅读这个规范了。
Open XML SDK下载:http:///downloads/details.aspx?FamilyId=C6E744E5-36E9-45F5-8D8C-331DF206E0D0
所以,如果可能的话,尽可能选用Excel 2007格式。这不仅是发展的趋势,更主要的是能大大节省开发成本,争取更多时间和人力去做其它更重要的事情。