2011-03-22 79 views
5

我使用Microsoft Excel Interop库导出Excel文件。但是,该库的限制是:用于编写Excel文件的库

  • 要求用户的计算机必须具有Microsoft Excel。
  • 写入内容时,必须打开Microsoft Excel以自动执行。
  • 要保存文件,用户必须手动执行:单击文件 - >保存。

我需要一个库:

  • 写的内容到内存Excel格式。
  • 将此内容以编程方式保存到文件。

说明:我使用.net 2.0和C#。

谢谢。

+0

我也曾有过一些项目,其中“Excel格式”的意思是“我的文件可以在Excel中打开”,并分隔文本是一个简单的解决方案。 – SteveCav 2011-03-22 02:41:12

+0

对。但至少我可以在Excel 2003中打开它。谢谢。 – 2011-03-22 06:43:32

回答

10

我已经使用EPPlus为的.xlsx读/写和它一直很大

+2

+1我也用过它。写入Excel电子表格> 65k行是一件轻而易举的事情。 – PostMan 2011-03-22 02:43:35

+1

.xlsx与Excel 2003兼容?我需要一个可以用Microsoft Excel 2003打开的Excel格式。谢谢。 – 2011-03-22 04:05:41

+0

如果您安装Microsoft兼容包,Excel 2003可以打开.xlsx文件:http://office.microsoft.com/en-us/support/microsoft-office-compatibility-pack-for-word-excel-and-powerpoint- 2007-file-formats-HA010168676.aspx – 2011-03-22 12:37:09

1

您可以使用ODBC或OLE接口读写Excel文件。但是,我不确定是否可以使用它创建文件,您可能需要保留具有正确布局的虚拟空文件。

更新:相应地,从@Joel Gauvreau下面评论可能使用这种技术创建一个excel文件。

链接: http://support.microsoft.com/kb/257819

http://www.codeguru.com/cpp/data/mfc_database/microsoftexcel/article.php/c1131

+2

这就是我正在做的,你可以用正确的布局创建一个空文件,将原始数据转储到工作表中。如果需要,您可以创建一些漂亮的工作表,链接到这些数据。它运作良好。该文件不需要存在,但是如果不使用现有文件,则必须先创建该模式。 – 2011-03-22 03:02:28

+0

@Joel谢谢你,我不确定这是否可能。我会在答案中加上你的回应。 – stefan 2011-03-22 03:04:03

+2

结果对于您可以事先进行格式化的现有文件要好得多。通过使用OleDbConnection创建文件,您只需获取数据的简单列表。 – 2011-03-22 03:15:48