ASP.Net使用Response.Write在excel中创建多个工作表

时间:2012-04-20 10:22:45

标签: asp.net

我通常使用Response.Write将报告导出到excel文件。

E.g

Response.Clear();
Response.Buffer = true;
Response.AddHeader("content-disposition", "attachment; filename=MyFile.xls");
Response.ContentType = "application/vnd.ms-excel";
Response.Write("<meta http-equiv=Content-Type content=text/html;charset=UTF-8>");
Response.Write("<table>");
Response.Write("<tr>");
Response.Write("<td>");
Response.Write("Hello");
Response.Write("</td>");
Response.Write("</tr>");
Response.Write("</table>");
Response.End();

现在我要导出包含多个工作表的Excel文件。 我怎么能做到这一点?

1 个答案:

答案 0 :(得分:2)

技术上说这不是导出到excel,而是发送带有错误标题的html来欺骗浏览器以使用excel打开此内容。

更好地使用NPOI(xls)或/和EPPlus(xlsx)并完全控制您的Excel导出,然后您可以创建新的工作表等。

更新:在这个SO答案中你可以看到ashx处理程序的例子,它返回从DataTable创建的excel文件:

C# create/modify/read .xlsx files