c# - 在 ASP.NET 中将数据集导出到具有多个工作表的 Excel 文件

标签 c# asp.net visual-studio-2008 excel-2007 openxml-sdk

在 C# ASP.NET 3.5 web 应用程序中,我需要将多个数据表(或数据集)导出到具有多个工作表的 Excel 2007 文件,然后为用户提供“打开/保存”对话框,而不保存 Excel Web 服务器上的文件。

我以前使用过 Excel Interop。我一直在读到它效率不高,也不是实现这一目标的最佳方法,还有更多方法可以做到这一点,其中 2 种是:1) 将数据表中的数据转换为 Excel 可以理解的 XML 字符串 2) 使用 OPEN XML SDK 2.0.

看起来 OPEN XML SDK 2.0 更好,请告诉我。还有其他方法吗?我不想使用任何第三方工具。

如果我使用 OPEN XML SDK,它会创建一个 excel 文件,对吗?我不想将它保存在(Windows 2003)服务器硬盘上(我不想使用 Server.MapPath,这些 Excel 文件是动态创建的,一旦客户端获取它们,服务器上不需要它们) .我直接想提示用户打开/保存它。我知道在使用“XML 字符串”方法时该怎么做。

请帮忙。 谢谢。

最佳答案

是否绝对需要 Excel 2007 支持?

我们使用了NPOI非常成功,它支持我们想要的所有功能(多个工作表、格式、公式)。它也很稳定。

虽然它生成的文件是 Excel 2003 格式,所以它们是二进制的,而不是 OOXML。

这个问题之前有人问过,见here进行更好的讨论。

关于c# - 在 ASP.NET 中将数据集导出到具有多个工作表的 Excel 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2568088/

相关文章:

c# - 为什么我的 MVC viewModel 为空?

c# - VS 2008 c# 预构建事件

c# - 使用 List<T> 参数将 Javascript 数组发送到 Web API 方法时出现问题

asp.net - 是否可以强制 Visual Studio 2010 使用 Visual Basic 10?

asp.net - 如何使用 MVC 4 和 View 模型(强类型)呈现一组复选框

visual-studio - 安装项目未找到项目主要输出的依赖项

visual-studio-2008 - 如何找到单元测试

c# - 一键式应用程序从 Windows 窗体迁移到 WPF

javascript - 如何在 ASP.NET 中阻止/防止用户注销后返回上一页

visual-studio - 如何防止 VS 2008 在发布过程中发布 .svn 文件夹?