我想知道如何导出列表(如数据网格)以实现卓越。

我说的不是CSV,而是真正的xlsx文件,它是XML和压缩文件等。

我仅从Microsoft看到过一些有关Open XML的示例。

第二件事也是最重要的一点,如何将excel完全不保存在磁盘上,而是使用response.write将其写回到Web上的客户端。

法案。

最佳答案

我通常通过呈现绑定到列表的DataGrid控件来做到这一点,并将响应内容类型设置为“ application / vnd.ms-excel”。然后,该文件在Excel中打开。 Excel会警告该文件的类型错误,但是仍然会打开该文件。

我使用的代码在Page.Render()中是这样的:

Response.ContentType = "application/vnd.ms-excel";
Response.AddHeader("Content-Disposition", "attachment;filename=myfilename.xls");

var grid = new DataGrid();
grid.DataSource = myList;
grid.DataBind();
grid.Render(writer);

Response.End();


我知道这并不能直接回答您的问题,但是无论如何它可能会有所帮助。

关于c# - Web请求如何将List <t>导出到Excel,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4661663/

10-17 02:19