有一个从数据库生成的报告,想要添加一个导出按钮,以便他们可以在某种类型的 excel 可读表中获得相同的报告。这里的关键是易于实施,因此如果更容易,CSV 比 XLS 更好。
问问题
3447 次
2 回答
4
Excel 实际上有点擅长阅读 HTML。特别是如果您的 HTML 仅包含一个表格。如果你想告诉浏览器在 excel 中打开文件,你可以使用
Response.ContentType = "application/vnd.ms-excel"
这告诉浏览器在 Excel 中打开文档,而不是仅仅自己呈现它。不过也有一些问题。如果有人想用 OO.org calc 打开它,我认为它不会起作用。此外,当尝试保存它时,它永远不会将文件转换为真正的 excel 文件,除非用户明确更改文件类型。如果它只是您组织的 Intranet 应用程序,这可能不是问题。好处是,您可以使用颜色、边框甚至公式,而使用直接 CSV 则无法做到这一点。
于 2009-04-24T19:19:25.610 回答
0
您可以使用 HtmlTextWriter:
System.IO.StringWriter stringWriter = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter htmlWriter = new HtmlTextWriter(stringWriter);
grid.RenderControl(htmlWriter);
其中 grid 是一个 DataGrid 对象。您也可以使用其他类型的控件。
于 2009-04-24T19:10:27.677 回答