在我们使用 C# 编写的 ASP.NET 应用程序之一中,我们获取某个数据集合(SubSonic 集合)并将其导出到 Excel。我们还想以特定格式导入 Excel 文件。我正在寻找可以用于此目的的库。
要求:
你推荐什么图书馆?您是否将其用于大量数据?还有其他解决方案吗?
现在,我正在使用一个简单的工具来生成稍后由 Excel 加载的 HTML,但是我失去了一些功能,而且当我们加载它时 Excel 会抱怨。我不需要生成图表或类似的东西,只需导出原始数据。
我正在考虑平面 CSV 文件,但 Excel 是客户要求。如果我有一个工具可以与 Excel 相互转换,我可以直接使用 CSV。鉴于 Excel 2007 是一种基于 xml(和压缩)的文件格式,我猜这种库应该很容易找到。但是,对我来说最重要的是您的评论和意见。
编辑:具有讽刺意味的是,在我看来,按照投票最多的答案,最好的 Excel 导入和导出库根本没有导出。并非所有情况都如此,但它适用于我的情况。XLS 文件仅支持 64k 行。XLSX 最多支持 1M。我尝试过的免费库的性能很差(当你有 200k 行时加载一行需要一秒钟)。我没有尝试过付费的,因为我觉得当您需要的只是快速的 XLSX<->CSV 转换程序时,它们提供的价值被高估了。
如果只是因为您对代码有最大的控制权,我将投入使用平面 csv 文件。只需确保您逐行读取并一次处理它们(将文档读取到最后并拆分会占用您所有的内存 - 与写入相同,将其流出)。
是的,用户必须先在 Excel 中保存为 CSV,然后才能处理它,但也许可以通过培训和在页面上提供明确的说明来克服这个限制?
最后,当您导出给客户时,如果您将 mime 类型设置为 text/csv,Excel 通常会映射到该类型,因此在用户看来它是“一个 Excel 文件”。