3

有一个从数据库生成的报告,想要添加一个导出按钮,以便他们可以在某种类型的 excel 可读表中获得相同的报告。这里的关键是易于实施,因此如果更容易,CSV 比 XLS 更好。

4

2 回答 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 回答