当前位置:编程学习 > C#/ASP.NET >>

C# dt导出excel 生成多个sheet!

问题是这样的。我从数据库里查询到几条数据,返回一个datatable。通过循行,生成一个<table></table>的html格式的字符串。

然后通过下面:
System.Web.HttpContext curContext = System.Web.HttpContext.Current;
            StringWriter sw = new StringWriter();            
            sw.WriteLine("<html xmlns:x=\"urn:schemas-microsoft-com:office:excel\">");
            sw.WriteLine("<head>");
            sw.WriteLine("<!--[if gte mso 9]>");
            sw.WriteLine("<xml>");
            sw.WriteLine(" <x:ExcelWorkbook>");
            sw.WriteLine("  <x:ExcelWorksheets>");
            sw.WriteLine("   <x:ExcelWorksheet>");
            sw.WriteLine("    <x:Name>数据报表</x:Name>");
            sw.WriteLine("    <x:WorksheetOptions>");
            sw.WriteLine("      <x:Print>");
            sw.WriteLine("       <x:ValidPrinterInfo />");
            sw.WriteLine("      </x:Print>");
            sw.WriteLine("    </x:WorksheetOptions>");
            sw.WriteLine("   </x:ExcelWorksheet>");
            sw.WriteLine("  </x:ExcelWorksheets>");
            sw.WriteLine("</x:ExcelWorkbook>");
            sw.WriteLine("</xml>");
            sw.WriteLine("<![endif]-->");
            sw.WriteLine("</head>");
            sw.WriteLine("<body>");
            sw.WriteLine(sb.ToString());
            sw.WriteLine("</body>");
            sw.WriteLine("</html>");

HttpContext.Current.Response.Clear();
            HttpContext.Current.Response.Buffer = true;
            HttpContext.Current.Response.AppendHeader("content-disposition", "attachment; filename=" + HttpUtility.UrlEncode(fileName, Encoding.UTF8).ToString() + ".xls");
            curContext.Response.Write("<meta http-equiv=Content-Type content=text/html;charset=gb2312>");
            curContext.Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");

            // 返回客户端 
            curContext.Response.Write(sw);
            sw.Close();
sb 就是上面拼接的字符串变量。
现在想实现一条数据生成一个sheet,就是一个excel包含多个sheet。该如何在此基础上修改? excel sheet c# 导出 --------------------编程问答-------------------- 其实就是导出excel的一个问题。初学者,求指导。详细点更好! --------------------编程问答--------------------   没有人吗? 帮忙顶下
--------------------编程问答-------------------- 同求解决方法,我在<x:ExcelWorksheets>中放置多个<x:ExcelWorksheet>,能生成多个sheet页,但如何在其他sheet中放入内容呢。 --------------------编程问答-------------------- 参考http://xiedwxy.blog.163.com/blog/static/192916285201242413024247/ --------------------编程问答-------------------- 用第三方 org.in2bits.MyXls 非常方便,不需要安装office --------------------编程问答-------------------- http://download.csdn.net/detail/jx_521/5819725
完全符合你的要求 --------------------编程问答--------------------
引用 楼主 sai_shuang 的回复:
现在想实现一条数据生成一个sheet,就是一个excel包含多个sheet。该如何在此基础上修改?

无法在此基础上修改。这个东西根本就只能弄个最简单的table,没有任何多一点的Excel格式、公式、单元格样式等技术,更没有WorkbookSheet概念。

要想输出excel,你就应该使用真正面对excel的编程方式。而不是这种。 --------------------编程问答-------------------- WorkbookSheet  -->   Worksheet

生成xml格式当然是可以得到复杂的excel工作簿的。但是你花时间掌握了excel xml了吗?从csdn上无法得到好的答案。而如果你要对excel编程,最好调用封装好的excel COM编程api。

这就好像你编写c#程序,而不是直接写 0、1、0、1代码一样,对于excel编程优先使用api接口库去操作,而不是直接编辑xml。
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,