数据导出成Excel

1、table里的数据导出成Excel   runat="server"

复制代码
View Code
 1 protected void Btn_OutEXL_Click(object sender, EventArgs e)
 2 
 3         {
 4 
 5     bind_infor();
 6 
 7             string strDate1 = DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss");
 8 
 9             Response.Charset = "GB2312";
10 
11             Response.ContentEncoding = System.Text.ASCIIEncoding.UTF8;
12 
13             Response.ContentType = "application/ms-excel";
14 
15             Response.AppendHeader("Content-Disposition", "attachment;filename=工资统计表(" + strDate1.ToString() + ").xlsx");
16 
17             StringWriter tw = new StringWriter();
18 
19             HtmlTextWriter hw = new HtmlTextWriter(tw);
20 
21             outEW.RenderControl(hw);//outEW为table的id
22 
23             Response.Write(tw.ToString());
24 
25             Response.End();
26 
27          }
复制代码

2、Repeater里的数据导出成Excel

首先,设置样式:

<HeaderTemplate >表头信息</HeaderTemplate >

            <ItemTemplate>绑定信息</ItemTemplate>

        <FooterTemplate>表尾信息</FooterTemplate>

导出按钮:

<asp:Button ID="Btn_OutEXL" runat="server" Text="导出xls" 

  onclick="Btn_OutEXL_Click" style="width: 100px; height: 30px;" />

后台代码:

复制代码
View Code
 1 protected void Btn_OutEXL_Click(object sender, EventArgs e)
 2 
 3         {
 4 
 5             bind_infor();
 6 
 7             string strDate1 = DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss");           
 8 
 9             base.Response.Clear();
10 
11             base.Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");
12 
13             base.Response.AddHeader("content-disposition", "attachment;filename=工资统计表(" + strDate1.ToString() + ").xlsx");
14 
15             base.Response.Charset = "gb2312";//gb2312,utf-8,UTF7
16 
17             //base.Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
18 
19             //Response.ContentType指定文件类型 可以为application/ms-excel、application/ms-word、application/ms-txt、application/ms-html 或其他浏览器可直接支持文档
20 
21             base.Response.ContentType = "application/vnd.xls";
22 
23             this.EnableViewState = false;
24 
25             // 定义一个输入流
26 
27             StringWriter writer = new StringWriter();
28 
29             HtmlTextWriter Htmlwriter = new HtmlTextWriter(writer);
30 
31             this.Repeater1.RenderControl(Htmlwriter);
32 
33             //this 表示输出本页,你也可以绑定datagrid,或其他支持obj.RenderControl()属性的控件
34 
35             base.Response.Write(writer.ToString());
36 
37             base.Response.End();
38 
39         }
复制代码

 

 

posted @   dreamfly_cc  阅读(205)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示