2010-05-18 48 views
2

NPOI出口我有一個asp.net網站,將產生的數據的7-8張某些Excel文件。 最好的解決辦法,到目前爲止似乎是NPOI,這可以創建Excel文件而無需在服務器上安裝Excel,並有一個很好的API呈三角Excel的互操作。從數據表

但是我不能找到一種方法來傾倒在Excel中的數據表全部類似於CopyFromRecordset

如何做到這一點,或比NPOI更好的解決方案有什麼建議?

回答

5

我認爲NPOI是一個很好的解決方案,您不希望在基於服務器的環境(如ASP.NET)上與Office進行互操作,它只是不適合它而且會失敗。事實上MS不支持這一點,我會更新一個鏈接。

至於NPOI我們的團隊已經用它非常類似的東西,我知道,他們寫了一個程序,所以我認爲這意味着NPOI不具備這種能力本身轉儲數據表。

基本上你需要做的是枚舉值數據表的每一行中,並寫入值了,它應該是一個相當簡單的程序來寫。

更新:我答應過的鏈接。

http://support.microsoft.com/kb/257757

從上面的鏈接

微軟目前並不提倡一個關鍵短語,並且不支持,從任何無人蔘與的非交互式客戶端應用程序或組件Microsoft Office應用程序自動化(包括ASP,ASP.NET,DCOM和NT服務),因爲Office在此環境中運行時可能會出現不穩定的行爲和/或死鎖。

+0

感謝您的快速答覆,我會嘗試通過數據表進行迭代,然後,我最大的擔心是,這將是緩慢的。 在速度方面你的項目如何? 在我的情況下,一些牀單將有超過30K行。 – Iulian 2010-05-18 17:12:18

+0

@Iulian,我會與團隊覈對,因爲我沒有參與代碼,但如果有性能投訴,我會聽說它。如果你有效地使用NPOI,我不明白爲什麼它應該很慢,就像大多數事情一樣,我確信有正確的方法來做到這一點和錯誤的方式,所以訣竅將是找到最合適的方式來編寫批量數據到NPOI,我明天會與團隊覈對,並在這裏回覆。 – 2010-05-18 17:20:24

+0

哇,它實際上很快,它立即生成我的excel文件。 – Iulian 2010-05-18 20:05:40