【发布时间】:2009-01-14 20:20:08
【问题描述】:
在我们的一个 C# ASP.NET 应用程序中,我们采用特定的数据集合(SubSonic 集合)并将其导出到 Excel。我们还想以特定格式导入 Excel 文件。我正在寻找可以用于此目的的库。
要求:
- Excel 2007 文件(Excel 2003 是否支持超过 64k 行?我需要的不止这些。)
- 服务器上不需要 Excel
- 采用类型化集合,如果可以,尝试将数字字段作为数字字段放入 Excel 中。
- 适用于大文件(100k 到 10M) - 足够快。
- 导出 GUID 时不会崩溃!
- 不花一大笔钱(没有像 aspose 这样的企业库)。免费总是很棒,但也可以是商业图书馆。
你推荐什么库?您是否将其用于大量数据?还有其他解决方案吗?
现在,我正在使用一个简单的工具来生成稍后由 Excel 加载的 HTML,但是我失去了一些功能,而且当我们加载它时 Excel 会抱怨。我不需要生成图表或类似的东西,只需导出原始数据。
我正在考虑平面 CSV 文件,但 Excel 是客户的要求。如果我有一个工具可以与 Excel 相互转换,我可以直接使用 CSV。鉴于 Excel 2007 是一种基于 xml(和压缩)的文件格式,我猜这种库应该很容易找到。但是,对我来说最重要的是您的cmets和意见。
编辑:具有讽刺意味的是,在我看来,按照投票最多的答案,最好的 Excel 导入和导出库根本就没有导出。并非所有情况都如此,但它适用于我的情况。 XLS 文件仅支持 64k 行。 XLSX 最多支持 1M。我尝试过的免费库的性能很差(当你有 200k 行时加载一行需要一秒钟)。我没有尝试过付费的,因为我觉得当您需要的只是快速的 XLSXCSV 转换程序时,它们提供的价值被高估了。
【问题讨论】:
-
“鉴于 Excel 2007 是一种基于 xml(和压缩)的文件格式,我猜这种库应该很容易找到”——哈哈!这就像说“Excel 97 是基于字节的,所以这种库应该很容易找到”。 XML 并不意味着简单,而 OOXML 是如何使 XML 指定不足和难以理解的复杂性的典型代表。 :-)
-
实际上你做出这个假设并不完全正确。有一些可用的工具可以至少为 XLSX 构建格式良好的 OOXML 文档,使用 C#.NET 很容易做到。
-
我已经创建了一个网站提案,以便为此类问题提供远离 Stack Overflow 的官方主页。它被称为Code Recommendations 现在加入并提出问题,帮助实现它!
-
Spire.xls 怎么样。专业版只需 800 美元。您可以获得所有转换以及您的 excel 导入或导出器。 e-iceblue.com/Introduce/…
-
GemBox.Spreadsheet 是另一个值得一试的解决方案,速度超快,有免费版和专业版。此外,专业版相当便宜,并且没有像大多数那样隐藏的糟糕的部署成本。
标签: c# asp.net excel export-to-excel import-from-excel