热搜
您的位置:首页 >> 养生

在ASPNET程序中以高效轻量方式生成格式丰富的Excel文件方案

2019年11月05日 栏目:养生

“在ASP.NET程序中以高效、轻量方式生成格式丰富的Excel文件”方案!在ASP.NET程序中可以使用COM编程来生成Excel文件

“在ASP.NET程序中以高效、轻量方式生成格式丰富的Excel文件”方案!

在ASP.NET程序中可以使用COM编程来生成Excel文件,但是使用COM组件需要在服务端安装Excel程序和配置COM组件,而且还要强制杀死Excel进程,这样对系统的部署和性能都不够理想。所以希望大家推荐一下自己使用过的好的控件或者方案,要求如下:

1. 生成的Excel文件可以设置格式:

a. 必须支持字体大小、颜色、合并单元格等设置;

b. 能支持页边距、的设置;

c. 能支持Excel文件横向、纵向设置;

d. 能支持Excel模板文件的加载;

e. 但是不必支持图表的显示和绘制,也就是说Excel文件中只需要显示文字。

2. 服务端不用安装Excel程序;

3. 生成的excel文件在客户端打开的时候至少能兼容Excel2003,Excel XP,还能兼容Excel2000。

4. 性能比较好;

5. 是可用的开源控件或者是完整可用的源代码;退而求其次是功能不受限制的免费控件;再次是功能受限制的免费控件;是破解控件也行(当然,你需要告诉我们破解的方法和工具,我的邮箱:myprojects@126.com)。

我把目前我使用过的或者找到的方案罗列和总结一下(但这些方案都或多或少没有满足上面提到的要求),有说得不对的地方大家指正:

1.Excel的COM编程

优点:

能编程实现Excel文件的各种格式功能,还支持图表、模板等。

缺点:

a. 重量级方案,部署不方便,需要在服务端安装Excel程序和配置COM;

b. 需要强制杀死Excel进程;

c. 性能低下。

我的感觉:

在C/S中可以考虑使用此方案,在B/S中根本就不用考虑这个方案。

2. HTML导出

优点:

a. 轻量级方案,服务端不用安装Excel程序。

b. 实现简单、方便。

缺点:

a. 不支持Excel文件格式的设置。

我的感觉:

这个方案在网上有相当多的例子,比如gridview导出到excel就用此方法。

如果导出的是纯数据而不需要设置Excel文件的任何格式,那么此方案是可行的。但是,如果需要设置一定的格式,则此方案显然不行。

3. 生成XML然后转换成Excel方式

参考资源:http://www.codeproject.com/office/Excel_Export.asp?df=100&forumid=329437&fr=51

优点:

a. 服务端不用安装Excel程序。

b. 支持一定的Excel文件格式设置,比如字体大小、颜色、合并单元格等。

缺点:

a. 与Excel 2000不兼容:由于Excel 2000不支持XML,所以以这种方法生成的Excel文件可能在Excel2000中不兼容(毕竟目前还有不少用户的电脑装的是Excel 2000)。

b. 可能不支持Excel文件页边距的设置;不支持Excel文件横向、纵向的设置;不支持Excel模板;

c. 编程工作量比较大;

d. 生成的文件本质上是XML文件,需要“另存为xls”才能变成真正的Excel文件。

e. 性能是好是坏还不清楚,目前还没真正在项目中用过。希望有用过此方案的朋友能介绍一下这个方案的性能。

我的感觉:

如果生成的Excel文件不需要设置复杂的格式(也就是说只需要设置一些简单的格式),这个方案是可行的。

4. 以二进制的形式编程写Excel文件

这种方案涉及底层的东西,我们不用考虑。

5.付费控件

5.1 GemBox控件

http://www.gemboxsoftware.com/Index.asp

优点:

几乎满足前面提到的所有要求,除了有一个缺点以外。

缺点:

GemBox是付费控件,而且价格不便宜。

它同时提供免费版本的控件(http://www.gemboxsoftware.com/GBSpreadsheetFree.htm),但是功能受到严重限制:一个Excel文件多只能生成5个WorkSheet,每个WorkSheet多生成150行数据。

如果你有破解版本或者知道如何破解,希望你能共享(我的邮箱是myprojects@126.com)

我的感觉:

我已经在一个项目中使用这个免费版本的控件,感觉非常不错。如果生成的数据少于150条,那么使用这个控件非常合适,但是如果数据数量超过150条,那就只能放弃。

5.2 Aspose.Excel

和GemBox差不多,几乎满足前面提到的所有要求。就是付费软件。

我的感觉:

以前曾经有个朋友推荐我使用这个控件的破解版本。但是奇怪的是:用注册机在一台服务器上生成的注册码能用,但是在另一台服务器上用同样的方式破解就不行,后来就放弃使用这个控件,因为我担心的是这个破解控件在开发用服务器上能运行,不能确保部署到客户生产服务器上也会正常运行。可能是我破解不当,如果你有这方面的使用经验请慷慨介绍。

6. 开源控件或者功能不受限制的控件

【揭秘】激光近视手术,为什么更多人选择全飞秒SMILE激光手术!
什么是艺术种植,艺术种植流程和注意事项你知道吗?
牙周炎的十大表现症状,如果有,赶紧重视起来
斜弱视怎么治疗
美容整形医院哪家好
  • 友情链接
  • 合作媒体