很多时候,程序中处理生成的数据都需要将其保存到磁盘中,而单纯的txt或者bin文件所显示的数据并不是很直观,所以,就会遇到需要将数据写入到Excel之类的文件的工作。
利用C#语言将数据写入到Excel文件中,一开始想到的是调用系统原生的COM组件Microsoft.Office.Interop.Excel。
结果发现不仅写入过程慢(因为是相当于程序先打开Excel软件再操作Excel来写入数据,打开和关闭Excel将花费大量时间),而且,代码的可移植性十分差,在没有安装Excel软件的PC或者很大一部分已经安装的PC上都无法正常运行,故而放弃这种做法。
EPPlus,Create advanced Excel spreadsheets using .Net
JanKallman/EPPlusgithub.comEPPlus为开源项目,依赖项仅为.NET框架,可移植性强,且其本本质为直接操作Excel文件,无论是否安装Excel软件都可以调用其API,且其速度相较于COM组件,得到了很大的提升,省去了开启Excel软件的步骤。
ps : 当数据量较大(百万级别)的时候,使用COM组件的 速度以及性能是优于EPPlus的(感谢@Philip的建议)
Test Code
using