dataset导出EXCEL文件

        public void CreateExcel(DataSet ds, string FileName)
        {
            HttpResponse resp;
            resp = Page.Response;
            resp.ContentEncoding = System.Text.Encoding.UTF8;
            resp.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(FileName));//attachment 参数表示作为附件下载,您可以改成 online在线打开

            resp.Write("<?xml version=\"1.0\"?>\r\n");
            resp.Write("<?mso-application progid=\"Excel.Sheet\"?>\r\n");

            resp.Write("<Workbook xmlns=\"urn:schemas-microsoft-com:office:spreadsheet\"\r\n");
            resp.Write(" xmlns:o=\"urn:schemas-microsoft-com:office:office\"\r\n");
            resp.Write(" xmlns:x=\"urn:schemas-microsoft-com:office:excel\"\r\n");
            resp.Write(" xmlns:ss=\"urn:schemas-microsoft-com:office:spreadsheet\"\r\n");
            resp.Write(" xmlns:html=\"http://www.w3.org/TR/REC-html40\">\r\n");

            resp.Write("<ExcelWorkbook xmlns=\"urn:schemas-microsoft-com:office:excel\">\r\n");
            resp.Write("<ProtectStructure>False</ProtectStructure>\r\n");
            resp.Write("<ProtectWindows>False</ProtectWindows>\r\n");
            resp.Write("</ExcelWorkbook>\r\n");
            #region styles
            resp.Write("<Styles>");
            resp.Write("<Style ss:ID=\"Default\" ss:Name=\"Normal\">\r\n");
            resp.Write("<Alignment ss:Vertical=\"Center\"/>\r\n");
            resp.Write("<Borders/>\r\n");
            resp.Write("<Font ss:FontName=\"宋体\" x:CharSet=\"134\" ss:Size=\"12\"/>\r\n");
            resp.Write("<Interior/>\r\n");
            resp.Write("<NumberFormat/>\r\n");
            resp.Write("<Protection/>\r\n");
            resp.Write("</Style>\r\n");
            resp.Write("</Styles>\r\n");
            #endregion
            #region worksheet
            foreach (System.Data.DataTable dt in ds.Tables)
            {
                resp.Write(string.Format("<Worksheet ss:Name=\"{0}\">\r\n", dt.TableName));
                resp.Write(string.Format("<Table ss:ExpandedColumnCount=\"{0}\" ss:ExpandedRowCount=\"{1}\" x:FullColumns=\"1\" x:FullRows=\"1\" ss:DefaultColumnWidth=\"54\" ss:DefaultRowHeight=\"14.25\">\r\n", dt.Columns.Count, dt.Rows.Count+1));
                resp.Write("<Row ss:AutoFitHeight=\"0\">\r\n");
                for (int i = 0; i < dt.Columns.Count; i++)
                {
                    resp.Write(string.Format("<Cell><Data ss:Type=\"String\">{0}</Data></Cell>\r\n", dt.Columns[i]));
                }
                resp.Write("</Row>\r\n");
                foreach (System.Data.DataRow dr in dt.Rows)
                {
                    resp.Write("<Row ss:AutoFitHeight=\"0\">\r\n");
                    for (int i = 0; i < dt.Columns.Count; i++)
                    {
                        resp.Write(string.Format("<Cell><Data ss:Type=\"String\">{0}</Data></Cell>\r\n", dr[i].ToString().Replace("<","《").Replace(">","》")));
                    }
                    resp.Write("</Row>\r\n");
                }
                resp.Write("</Table>\r\n");
                resp.Write("</Worksheet>\r\n");
            }
            #endregion
            resp.Write("</Workbook>\r\n");
            resp.End();
        }
合并列: <Cell ss:MergeAcross="2" >
合并行: <Cell ss:MergeDown="3" >

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值