在我们的一个ASP.NET应用程序在C#中,我们获取特定的数据收集(亚音速收集)并将其导出到Excel.我们还希望导入特定格式的Excel文件.我在找一个可以用的图书馆.

要求:

  • Excel 2007文件(Excel 2003支持超过64k行吗?我需要更多.)
  • 服务器上不需要Excel
  • 获取一个类型化的集合,如果可以的话,try 将数字字段作为数字放在Excel中.
  • 适用于大文件(100k到10M)-速度足够快.
  • 导出guid时不会崩溃!
  • 不需要花费一大笔钱(没有像aspose这样的企业库).免费总是很棒,但也可以是商业图书馆.

你推荐什么图书馆?你用它来处理大量数据了吗?还有其他解决方案吗?

现在,我正在使用一个简单的工具生成HTML,稍后由Excel加载,但我正在失go 一些功能,而且加载时Excel会抱怨.我不需要生成图表或类似的东西,只需要导出原始数据.

我在考虑平面CSV文件,但Excel是客户的要求.我可以直接使用CSV,如果我有一个工具来转换Excel.鉴于Excel2007是一种基于xml(压缩)的文件格式,我猜这种库应该很容易找到.然而,对我来说最重要的是你的 comments 和意见.


EDIT: Ironically, in my opinion and following the answer with the most votes, the best Excel import&export library is no export at all. This is not the case for all scenarios, but it is for mine. XLS files support only 64k rows. XLSX supports up to 1M. The free libraries that I've tried feature bad performance (one second to load one row when you have 200k rows). I haven't tried the paid ones, as I feel they are overpriced for the value they deliver when all you need is a fast XLSX<->CSV conversion routine.

推荐答案

如果只是因为您对代码拥有最大的控制权,我将放弃对平面CSV文件的支持.只需确保读入行,并一次处理一行(将文档读到最后并拆分会耗尽您的所有内存-与写入相同,将其流出).

是的,在您可以处理它之前,用户必须将其另存为EXCEL中的CSV,但或许可以通过培训并在页面上提供明确的说明来克服此限制?

最后,当您向客户导出时,如果将mime类型设置为text/csv,Excel通常会映射到该类型,因此用户会觉得它是"Excel文件".

Asp.net相关问答推荐

WebResource.axd 上的填充无效且无法删除异常

如何正确配置 IHttpModule?

当前http上下文的http动词

判断 asp.net mvc 4 应用程序中的 ssl 协议、密码和其他属性

EntityFramework 通过 ID 获取对象?

有没有办法将 onclick 事件添加到 ASP.NET 标签服务器控件?

是否有用于 Asp.net 标记的#IF DEBUG?

IIS 6.0 通配符映射基准?

aspx 文件中的 if 语句

如何设置asp.net身份cookie过期时间

无法确定条件表达式的类型,因为 'string' 和 'System.DBNull' 之间没有隐式转换

如何以编程方式将标签的前景色设置为其默认值?

设置 Response.Status 生成HTTP 状态字符串无效异常

ASP.NET IIS Web.config [内部服务器错误]

如何获得 System.Diagnostics.Process 的输出?

通过 ASP.NET/C# 使用 Plupload

Azure 网站 301 重定向 - 我应该把它放在哪里?

将 html 标记从 jquery 发布调用发送到 asp.net 页面时,从客户端检测到潜在危险的 Request.QueryString 值

IE9 JavaScript 错误:SCRIPT5007:无法获取属性ui的值:对象为空或未定义

在没有等待 #2 的情况下调用异步方法