2011-03-22 55 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