欢迎来到天天文库
浏览记录
ID:37368586
大小:1.23 MB
页数:39页
时间:2019-05-22
《告别ASP.NET操作EXCEL的烦恼(总结篇)》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、公元19XX年前,关于EXCEL的操作就如滔滔江水,连绵不绝,真正操作EXCEL我也是从去年下半年开始的,有些比较复杂的年度报表之类的,做起来也有点费力,不过还是都能画出来了,关于EXCEL的报表导出,考虑到导出耗时的问题我主要采用AJAX来做的,分别捕捉几个起止状态,给客户端提示3个状态:正在检索数据。。。---》准备导出数据。。。(只是从数据库成功取出,还没有读写excel文件)--》正在读写文件--》导出数据成功,当然如果哪一过程出错,都有对应的提示,只所以想到写这篇文章,主要是因为今年有个系统的部分EXCEL的操作也让我做,顺便结合之前操作EXCEL的经验作一
2、下总结,可能也算不上什么,对于绝大多数来说也没什么技术含量,网上一搜一大把,但我想还是有必要总结一下,至少能给园子里的新手些许帮助,OK,Let'sGo... 一.程序操作EXCEL的应用主要还是在统计报表方面,您可能会考虑读EXCEL模板,也可能会考虑没必要读模板,其实读不读模板都能达到一样的效果,看实际情况而用了。 1.读模板的话,首先模板存放在某个路径下,根据模板把从数据库里取出的数据写回EXCEL然后生成一个新的EXCEL存放都另一个路径以供下载,模板不变。 我这里的EXCEL操作主要是在VS2005里的,VS2003也可以的,不
3、过没怎么研究03里的操作(文章最后我会把05的示例下载地址贴上那个demo里之前打包忘了放了一个生成数据的文件,刚放进去了,不加也是可以运行的,还有模板文件的数据稍微过滤了下重新放了部分对照看下)vs05中操作EXCEL直接引用.NET自带的COM组件,添加后项目的bin目录下会自动出现 Interop.Excel.dll这个DLL(需安装office2003excel,下面的说明及示例都是基于office2003的,版本不同调用可能会不一样)页面的命名空间引用usingExcel;下面是调用模板的一段代码 1 #region 使用模板导出Excel表 2
4、 case "ReportByTemp": 3 { 4 5 DataView dv = Cache["ReportByTemp"] as DataView; 6 //建立一个Excel.Application的新进程 7 Excel.Application app = new Excel.Application(); 8
5、 if (app == null) 9 {10 return;11 }12 app.Visible = false;13 app.UserControl = true;14 Workbooks workbooks = app.Workbooks;15
6、 _Workbook workbook = workbooks.Add(template_path + "\EXCEL测试模板.xls");//这里的Add方法里的参数就是模板的路径16 Sheets sheets = workbook.Worksheets;17 _Worksheet worksheet = (_Worksheet)sheets.get_Item(1);//模板只有一个sheet表18
7、 if (worksheet == null)19 {20 return;21 }22 23 int rowNum = 0;24 for (int i = 0; i < dv.Count; i++)25 {26
此文档下载收益归作者所有