在 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/