25yicms利用ASP.NET(C#)+MSSQL技术全力打造功能最强大的营销型企业网站管理系统,企业做网站系统,做网站软件,提供div+css企业网站模板。
阅读内容

C#(asp.net)实现数据导出Excel表详细代码


时间:2010/06/25   来源:25亿CMS系统

本例介绍的用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亿企业网站管理系统
版权所有。转载时必须以链接形式注明作者和原始出处及本声明。

点击次数:       打印此页  关闭