实现这个导出excel功能,用Microsoft.Office.Interop.Excel,Aspose,NPOI等都可以;
但由于导出excel的格式比较复杂,合并单元格还是比较麻烦的。
如下,我给你写了个例子,提供一种较简单的方式:
步骤1:无论格式有多复杂,先把数据库的数据读取出来并拼接成html 的Table格式。
或者先定义html table模版,然后用数据填充。
2013年团队分组PK | |||
---|---|---|---|
团队 | 8月31日止 | ||
分店 | 基本线 | 挑战线 | |
大连组 | 蒙莱 | 50万 | 100万 |
闪亮亮 | |||
石发 | |||
三分 |
步骤2,利用Response.Write输出excel文件:
string elxStr = tb_Excel.InnerHtml;//Table的html
Response.Clear();
Response.Buffer = true;
Response.AppendHeader("Content-Disposition", "attachment;filename=" + DateTime.Now.ToString("yyyyMMdd") + ".xls");
Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");
Response.ContentType = "application/vnd.ms-excel";
Response.Write(elxStr);
Response.End();
步骤3,导出效果:
源代码下载(仅供学习交流使用):
直接用WebBrowser读取出来的,数据库里面就是个获取的地址,通过读取数据库里面文件地址,加载Excel到WebBrowser的url就得出了这么一个效果。又不是真正的开发Excel表格
开发EXCEL的软件我举个例子,ERP的添表式录入方法很多是通过EXCEL结合GridView来完成的
你可以看看aspose控件,网上搜搜吧。里头有专门控制excel的控件应用