zoukankan      html  css  js  c++  java
  • ASP.net中导出Excel的简单方法

          下面介绍一种ASP.net中导出Excel的简单方法

          先上代码:前台代码如下(这是自己项目里面写的一点代码先贴出来吧)

         <div id="export" runat="server" style=" 700px; margin-left: auto; margin-right: auto;">
            <!--startprint-->
            <table width="100%" border="0" align="center" cellpadding="0" cellspacing="0" style="word-break: break-all;">
                <tr>
                    <td align="center" colspan="7" valign="middle" style="font-size: 14px; font-family: 宋体; font-weight: bold;
                        height: 30px">
                        <span id="spanYEAR" runat="server"></span>年<span id="spanMONTH" runat="server"></span>月分公司月度需求生产任务汇总
                    </td>
                </tr>   
                <tr>
                    <td align="right" valign="middle" colspan="7">
                        <table width="100%">
                            <tr>
                                <td colspan="2" align="left">
                                    &nbsp;数量单位:支
                                </td>
                                <%--   <td width="10%" align="center" style="font-weight: bold;">
                                    &nbsp;
                                </td>--%>
                                <td width="20%" align="center" style="font-weight: bold;">
                                 
                                </td>
                                <td width="25%" colspan="2" align="center">
                                 
                                </td>
                                <td width="40%" colspan="2" align="center">
                                
                                </td>
                            </tr>
                        </table>
                    </td>
                </tr>      
            </table>
            <table width="100%" border="0" align="center" cellpadding="0" cellspacing="0" style="font-size: 12px;
                font-family: 宋体; word-break: break-all;">
                <tr>
                    <td colspan="4" align="left" valign="top">
                        <div id="div" runat="server">
                            <table width="100%" border="1" align="center" cellpadding="0" cellspacing="0" style="font-family: 宋体;
                                word-break: break-all;">
                                <tr>
                                    <td width="8%" align="center" style="font-weight: bold; height: 25px">
                                        序号
                                    </td>
                                    <td width="20%" align="center" style="font-weight: bold;">
                                        硒鼓型号
                                    </td>
                                    <td width="12%" align="center" style="font-weight: bold;">
                                        硒鼓类别
                                    </td>
                                    <td width="15%" align="center" style="font-weight: bold;">
                                        第一批次
                                    </td>
                                    <td width="15%" align="center" style="font-weight: bold;">
                                        第二批次
                                    </td>
                                    <td width="15%" align="center" style="font-weight: bold;">
                                        第三批次
                                    </td>
                                    <td width="15%" align="center" style="font-weight: bold;">
                                        第四批次
                                    </td>
                                </tr>
                                <asp:Repeater ID="rptXQPC" runat="server">
                                    <ItemTemplate>
                                        <tr>
                                            <td width="8%" align="center" height="25px">
                                                <%#Eval("ROWID")%>
                                            </td>
                                            <td width="20%" align="center">
                                                <%#Eval("xgxh")%>
                                            </td>
                                            <td width="12%" align="center">
                                                <%#Eval("XGLB")%>
                                            </td>
                                            <td width="15%" align="center">
                                                <%#Eval("First")%>
                                            </td>
                                            <td width="15%" align="center">
                                                <%#Eval("Second")%>
                                            </td>
                                            <td width="15%" align="center">
                                                <%#Eval("Third")%>
                                            </td>
                                            <td width="15%" align="center">
                                                <%#Eval("Fourth")%>
                                            </td>
                                        </tr>
                                    </ItemTemplate>
                                </asp:Repeater>
                                <tr>
                                    <td colspan="3" width="40%" align="right" style="font-weight: bold; height: 25px">
                                        批次合计:
                                    </td>
                                    <td width="15%" align="center" style="font-weight: bold;">
                                       <div id="divFirst" runat="server"></div>
                                    </td>
                                    <td width="15%" align="center" style="font-weight: bold;">
                                        <div id="divSecond" runat="server"></div>
                                    </td>
                                    <td width="15%" align="center" style="font-weight: bold;">
                                        <div id="divThird" runat="server"></div>
                                    </td>
                                    <td width="15%" align="center" style="font-weight: bold;">
                                        <div id="divFourth" runat="server"></div>
                                    </td>
                                </tr>
                            </table>
                        </div>
                    </td>
                </tr>
            </table>
            <!--endprint-->
        </div>

    后台代码如下 :

        绑定Repeater数据这里接就不多做介绍了(用的Repeater嵌套)

        下面贴出后台导出Excel的方法:

       

     /// <summary>
        /// 将数据导出到excel,与下面的函数同时使用才能正常工作
        /// </summary>
        /// <param name="ctl"></param>
        public void ToExcel(System.Web.UI.Control ctl)
        {
            HttpContext.Current.Response.Clear();

            HttpContext.Current.Response.Charset = "";
            string filename = "Report" + System.DateTime.Now.ToString("_yyyyMMddHHmm");
            HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" +

            System.Web.HttpUtility.UrlEncode(filename, System.Text.Encoding.UTF8) + ".xls");

            HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF8;
            HttpContext.Current.Response.ContentType = "application/ms-excel";//image/JPEG;text/HTML;image/GIF;vnd.ms-excel/msword  
            ctl.Page.EnableViewState = false;
            System.IO.StringWriter tw = new System.IO.StringWriter();
            System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(tw);
            ctl.RenderControl(hw);
            HttpContext.Current.Response.Write(tw.ToString());
            HttpContext.Current.Response.End();
        }

       后台导出Excel时直接调用为  ToExcel(this.export);  这里的export是加了runat="server"的div名称,

       这句代码的意思是调用ToExcel的方法导出export里面的页面数据(页面上的数据是怎么展示的,导出来以后的Excel数据会以同样的方式展示)

  • 相关阅读:
    有向图的邻接表--p137-p138
    有向图的邻接矩阵--p136
    无向带权图的邻接矩阵表示--p135
    什么是视频关键帧?流媒体服务器如何提取视频的关键帧?
    电力系统无人值守变电站如何通过流媒体服务器实现随时随地监控
    流媒体服务器如何通过opencv获取IP摄像头(IP-camera)实时视频流
    如何在脱离流媒体服务器的时候使用ffmpeg 监测.m3u8直播视频流的状态?
    流媒体服务器如何在浏览器播放RTSP格式的视频流?
    AI安防监控如何与越来越进步的智能时代结合?
    SDI摄像机和IPC网络高清摄像机有什么区别?如何选择?
  • 原文地址:https://www.cnblogs.com/wolipengbo/p/2584276.html
Copyright © 2011-2022 走看看