本例介绍的用C#(asp.net)实现数据导出Excel详细代码的方法,会输出标准的Excel格式文件,非常稳定,不会死锁Excel进程,支持中文文件名,支持表头导出,支持大多数数据库导入。
C#(asp.net)数据导出Excel实现算法:利用Excel组件将DataGrid控件内容生成Excel临时文件,并存放在服务器上,然后用Response方法将生成的Excel文件下载到客户端然后再将生成的临时文件删除。
25亿CMS系统v2.9实现此功能,大家可以25亿CMS系统后台查看并研究。
C#(asp.net)数据导出Excel具体步骤:
1,在项目中引用Excel组件(Interop.Excel.dll),如需此组件,可以到技术社区(http://bbs.25yi.com)索取,25亿官方技术部会提供。
2,aspx页面代码:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" AllowPaging="True" CellPadding="8"
Width="690px" onpageindexchanging="gridview1_PageIndexChanging" PageSize="15" >
<FooterStyle BackColor="White" ForeColor="#000066" />
<RowStyle ForeColor="#000066" />
<Columns>
<asp:TemplateField HeaderText="用户ID" >
<ItemTemplate>
<asp:Label runat="server" ID="name" Text='<%#DataBinder.Eval(Container.DataItem,"UserInfoId")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="用户名" >
<ItemTemplate>
<asp:Label runat="server" ID="na" Text='<%#DataBinder.Eval(Container.DataItem,"UserName")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="注册时间" >
<ItemTemplate>
<asp:Label runat="server" ID="na" Text='<%#DataBinder.Eval(Container.DataItem,"AddTime")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="登录次数" >
<ItemTemplate>
<asp:Label runat="server" ID="na" Text='<%#DataBinder.Eval(Container.DataItem,"LoginNum")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="最后登录时间" >
<ItemTemplate>
<asp:Label runat="server" ID="na" Text='<%#DataBinder.Eval(Container.DataItem,"EndTime")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<PagerSettings FirstPageText="首页" LastPageText="尾页"
NextPageText="下一页" PreviousPageText="上一页" Mode="NextPreviousFirstLast" />
</asp:GridView>
3,cs代码:
public void DataSourse()
{
//GridView数据绑定
GridView1.DataSource = bllintable.GetModds(9, Remark, this.pbComment.CurrentPage - 1, this.pbComment.PageSize, Language);
GridView1.DataBind();
}
public override void VerifyRenderingInServerForm(Control control)
{
}
private void Export(string FileType, string FileName)
{
Response.Charset = "GB2312";
Response.ContentEncoding = System.Text.Encoding.UTF7;
Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(FileName, Encoding.UTF8).ToString());
Response.ContentType = FileType;
this.EnableViewState = false;
StringWriter tw = new StringWriter();
HtmlTextWriter hell = new HtmlTextWriter(tw);
GridView1.AllowPaging = false;
DataSourse();
GridView1.RenderControl(hell);
Response.Write(tw.ToString());
Response.End();
GridView1.AllowPaging = true;
DataSourse();
}
直接把上述代码复制到页面中,修改GridView绑定参数既可以运行,如有疑问,可以官方技术社区(http://bbs.25yi.com)提问。
作者: 网站设计@ CMS系统
原载: 25亿企业网站管理系统
版权所有。转载时必须以链接形式注明作者和原始出处及本声明。