从数据库生成报告,想要添加一个导出按钮,以便他们可以在某种类型的Excel可读表格中获得相同的报告。这里的关键是易于实现,所以如果更容易,CSV就可以胜过XLS。简单的方法将html表格导出为ASP.NET中的excel文件?
3
A
回答
4
Excel实际上在阅读HTML时有点擅长。特别是如果你的HTML只包含一个表。如果你想告诉浏览器在Excel中打开文件时,您可以使用
Response.ContentType = "application/vnd.ms-excel"
这告诉浏览器在Excel中打开文件,而不是仅仅通过自身的渲染它。但有一些问题。如果有人想用OO.org calc打开它,我认为它不会起作用。另外,当试图保存它时,它永远不会将该文件转换为真正的excel文件,除非用户明确更改文件类型。如果它只是组织的内部网应用程序,这可能不是问题。好的一面是,您可以使用颜色,边框甚至公式,这在使用直接CSV时无法完成。
0
可以使用的HtmlTextWriter:
System.IO.StringWriter stringWriter = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter htmlWriter = new HtmlTextWriter(stringWriter);
grid.RenderControl(htmlWriter);
,其中网格是DataGrid对象。您也可以使用其他类型的控件。
我已经在一个非常简单的应用程序中完成了这个工作,并且它工作得很好。而不是搞乱任何类型的导出或类似的东西,它用一行代码处理它。 – MattGWagner 2009-04-25 02:17:29