ASP.NET Excel导出(动态生成)解决方案
ASP.NET Excel导出(动态生成)解决方案
(一)、服务器端的excel组件来生成目标Excel
即在后台调用excel组件,来读取模板,填写模板的。就是后台启动Excel来处理的,在进程管理器里可以查看到它的进程。
优点:Excel处理功能丰富,多样,可以完成一切的Excel文件处理。
缺点:服务器端要装Excel软件,处理效率低,容易产生进程无法回收,服务器容易崩溃。
(二)、利用MSOWC组件,即微软的
office web component
优点:服务器无需安装office软件,功能强大,简单易用。
缺点:不能直接读取excel,excel转化xml后读取流造成一些个性化效果丢失;客户端要安装owc,可能涉及版权的问题;读写速度很慢。
(三)、开源组件
MyXls
优点:不依赖Microsoft组件,在内存中操作excel,读写速度快。
缺点:无法读取模板,只能生成新的excel,格式不好控制。
(四)、操作Excel的导出XML文件
XML中添加新行元素,更新行数信息和验证信息
优点:读取模板,通过文件流读写XML,速度最快。
缺点:转化为XML可能丢失一些个性效果;只适合有新行插入的工作簿,对没有新行插入,仅仅填写单元格的工作簿支持不好。
(五)、ado.net
缺点: 容易出错,而且操作也不灵活,插入等经常遇到问题,而且不能删除行。比较适用于结构单一的Excel表。
相关文档:
从csdn下载了使用案例,但发现很多人依然会遇到中文文件名乱码的问题,原因如下:
一般在单位的开发中在xml.config文件中都使用gb2312,如下:
<globalization responseEncoding="gb2312" requestEncoding="gb2312"/>
而swfupload是按照utf-8来编码的,所以你需要在使用sufupload的程序文件目录下重新 ......
This server-based method is documented in the Visual Studio help files. Open the Help Index, and enter PrintToPrinter in the "Look for:" box. The syntax for this method is:
Report.PrintToPrinter(<copies as int>, <collated as True/False>, <startpage as int>, <endp ......
//TransmitFile实现下载
protected void Button1_Click1(object sender, EventArgs e)
{
/*
&n ......
ASP.NET
MVC的TempData用于传输一些临时的数据,例如在各个控制器Action间传递临时的数据或者给View传递一些临时的数据,相信大家都看过“在
ASP.NET页面间传值的方法有哪几种”这个面试题,在ASP.NET
MVC中TempData的就是其中的一种传值方法。TempData默认是使用Session来存储临时数据的,TempData中存放的 ......