文章类型: .NET
关键词: 基于NPOI,xls,帮助类,导入,导出,支持,03,07
内容摘要: 最近好多人都在问导入导出的问题,以前使用的办法导入导出的速度慢,不是很满意,网上找的 很多没有下载地址 有代码 没类库 有03 没07 有导入 没导出 很是不全.。也遇到过这样的问题:”自己之前一直被这个问题困扰,也在网上找了很多资料,大部分都是用杀死进程的方法来解决,个人觉得这个太影响代码美观了.今天偶然发现了解决办法.给大家共享一下。现象 :我在C#中,需要从EXCEL导入或者导出数据,当导入导出结束后,使用excelApp.Quit()关闭EXCEL对象,但系统进程中仍然存在EXCEL进程.并没有关闭

基于NPOI的Execl导入导出例子(分别支持03以及07的导入跟导出)

2016/2/15 9:06:06    来源:apple    阅读:

最近好多人都在问导入导出的问题,以前使用的办法导入导出的速度慢,不是很满意,网上找的 很多没有下载地址 有代码 没类库 有03 没07 有导入 没导出 很是不全.。也遇到过这样的问题:”自己之前一直被这个问题困扰,也在网上找了很多资料,大部分都是用杀死进程的方法来解决,个人觉得这个太影响代码美观了.今天偶然发现了解决办法.给大家共享一下。现象 :我在C#中,需要从EXCEL导入或者导出数据,当导入导出结束后,使用excelApp.Quit()关闭EXCEL对象,但系统进程中仍然存在EXCEL进程.并没有关闭。原因:其实excelApp.Quit();方法是可以正确的释放EXCEL进程的,我们导入导出EXCEL时,普遍方法是代码后台处理,前台并隐藏EXCEL界面,也就是excelApp.Visible = false (这是默认值,不设置的话也是False),当调用 excelApp.Quit()时,EXCELE会弹出个对话框,问你是否保存,而excelApp.Visible = false 时,保存对话框也一并隐藏掉了,所以EXCEL卡在了这个地方,造成了EXCEL不能正常释放进程。
解决方法:设置excelApp.DisplayAlerts = false,就是不提问任何提示,这样再关闭EXCEL对象时,就不会有保存提示,也就不会卡住了.“,后来发现这种办法也不是很凑效,有时候也还是会出现。

所以今天整理了下,封装了下,大家可以自行下载(提取码:cd70)
导入支持03跟07
导出也是支持03跟07
我在例子中测试导出的是

var dt = new System.Data.DataTable();
var Columns=Enumerable.Range(1, 10).Select(d => new DataColumn("a"+d.ToString(), typeof(string))).ToArray();
dt.Columns.AddRange(Columns);
for (int i = 0; i < 33333; i++)
{
    var id = Guid.NewGuid().ToString();
    dt.Rows.Add(id, id, id, id, id, id, id, id, id, id);
}

一个有10列33333行的表..数据都是GUID 测试效果还可以...

↑ 上一篇文章:C#操作Excel的方式大全 关键词:C#,操作,Excel,方式,大全,辅助类 发布日期:2016/2/5 23:25:48
↓ 下一篇文章:NPOI.dll的用法,包含单元格,样式,字体,颜色,行高,宽度,读写excel 关键词:c#,NPOI,ISheet,设置,字体大小,单元格,样.. 发布日期:2016/2/17 13:42:08
相关文章:
[DLL]在非MFC扩展Dll中导出类的简单例子 关键词:在非MFC扩展Dll中导出类的简单例子 发布日期:2016-08-22 14:52
error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int 关键词:error,C4430,缺少类型说明符,假定为,int,注意,C++,不支持默认,int 发布日期:2018-08-01 16:58
Marquee标记在XHTML代码中该如何用 关键词:Marquee,XHML,html,不支持元素“marquee”,网页制作 发布日期:2015-07-16 15:37
相关目录:.NET
我要评论
正在加载评论信息......