目前对excel的操作,主要有以下4类,其他在这4类上面做一些封装的第三方API以及OpenOffice和WPS的API这里不阐述,根据个人爱好和项目需求去选择。
1. 使用Oledb去操作excel.
2. 调用office的com组件 Microsoft.Office.Interop.Excel
3. 使用office open xml.
4. 使用CSV格式.
下面对这4类API进行比较分析。
1. 使用Oledb去操作excel。
优点:
- 速度快。
- 不需要安装office。
- 可以进行大批量数据处理,与数据库衔接比较好,如sql。
缺点:
- 对excel的大小有限制,最多28列,最多 216行
- 样式不容易控制,要使用模板,特别是大批量数据处理。
2. 调用office的com组件 Microsoft.Office.Interop.Excel
优点:
- office提供的功能基本都满足,可以做出高质量的文件
缺点:
- 性能很差
- 处理完需要关闭excel进程
- 不同版本不兼容
3. 使用office open xml.
优点:
- 支持Office的大部分功能
- 对office的版本兼容性比较好
- 不需要安装office
- 支持样式设置,和模板。
缺点:
- 版本兼容性有待提高
4. 使用CSV格式.
优点:
- 速度快。
- 不需要安装office
缺点:
- 对样式支持很差,甚至不支持样式
- 压缩率不高
- 复杂的excel很难实现
- 不支持多个sheet