c# - 如何将 List<t> 作为 Web 请求的结果导出到 Excel

标签 c# excel datagrid

我想知道如何将列表(如数据网格)导出到 Excel。

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

我只看到了 Microsoft 的一些有关 Open XML 的示例。

第二件事也是最重要的,如何将该 Excel 根本不保存在磁盘上,而是使用 response.write 将其写回网络上的客户端...

比尔。

最佳答案

我通常通过渲染绑定(bind)到列表的 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# - 如何将 List<t> 作为 Web 请求的结果导出到 Excel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4661663/

相关文章:

c# - 等号登录数据 "causes"开始GetRequeststream失败

silverlight - 在 Silverlight 3 中同步 DataGrid 和 DataForm

c# - 通过文本框 WPF 在 DataGrid 中搜索

c# - 未安装相应Office版本如何获取特定Excel对象库

c# - .AspNetCore.相关性。未找到国家属性(property)。未知位置

excel - excel中的邮政编码距离

excel - 在vba中编写VLOOKUP函数

WPF 数据网格所有列的文本换行

c# - VS 如何在创建新方法时自动添加自定义代码片段?

vba - 当作为 VBA .xlam 加载时,功能区无效在 Excel 2007 中不起作用