【C#常用方法】2.DataTable(或DataSet)与Excel文件之间的导出与导入(使用NPOI)

网友投稿 715 2022-06-19


DataTable与Excel之间的互导

1.项目添加NPOI的引用

NPOI项目简介:

NPOI是一个开源的C#读写Excel、WORD等微软OLE2组件文档的项目,特点是可以在没有安装Office的情况下对Word或Excel文档进行读写操作。并且对老版本Office(2003-)与新版本Office(2007+)均有较好的支持。NPOI功能非常强大,可以操作Excel或Word文档的各个细节,如果你对NPOI想进行细致的学习,淘宝上有专门有书来讲NPOI,当然也可以访问NPOI的官方网站查看他们的文档与Demo。

关于Excel扩展名.xls与.xlsx简介:

.xls是Excel2003及以前的版本所保存的文件格式,老版本及新版本的Excel对其均可兼容,.xlsx是Excel2007及以后的Excel版本所默认保存的文件格式,这种格式只能被Excel2007及以后的版本所兼容,老版本Excel无法打开。

NPOI项目的引用:

使用VisualStudio,打开NuGet包管理器,搜索NPOI,并添加到当前项目。

2.将Excel文件导入到DataSet(DataTable)中

因为一个Excel文件可以有多个sheet页,所以C#方法最好使用与Excel文档结构相对应的DataSet类,即将DataSet(可以包含多个DataTable)导出为Excel,DataSet中的每个DataTabel对应一个Excel中的Sheet页。

方法解释:此方法将一个Excel文件导入为一个DataSet,Excel中每个Sheet页都会生成一个DataTable存放在导入的DataSet中,并且每个DataTable的TableName与每个Sheet的SheetName一一对应。参数isFirstLineColumnName用来表示Excel文件各表第一行是否为表头。

代码如下:

3.将DataSet(DataTable)导出为一个Excel文件

代码解释:我们可以将要导出的DataTable都放入一个DataSet中,将DataSet导出为Excel文件,方法参数OutPath用来传入导出Excel文件的路径,路径可以加Excel的扩展名(.xls或.xlsx),也可以不加,不加默认导出Excel文件扩展名为.xls。

4.上面两个方法的使用方法

将上面两个方法都定义在ExcelHelper类中,使用如下代码使用:

DataSet set = ExcelHelper.ExcelToDataTable("test.xlsx", true);//Excel导入

bool b = ExcelHelper.DataTableToExcel(set, "test2.xlsx");//导出Excel


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:C# 数组(c1驾照能开什么车)
下一篇:SWITCH练习(一年第几天的判断)(switch游戏记录时间不对)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~