在C#中的一個ASP.NET應用程序中,我們進行某些數據收集(SubSonic收集)并將其導出到Excel。我們還希望以特定格式導入Excel文件。我正在尋找可以用于此目的的庫。要求:Excel 2007文件(Excel 2003是否支持超過64k行?我還需要更多。)在服務器上不需要Excel接受類型化的集合,如果可以,則嘗試將數字字段作為Excel中的數字放置。適用于大型文件(100k至10M)-足夠快。導出GUID時不會崩潰!無需花錢(沒有像aspose那樣的企業(yè)庫)。免費總是很棒,但可以成為商業(yè)圖書館。您推薦什么圖書館?您是否將其用于大量數據?還有其他解決方案嗎?現在,我正在使用一個簡單的工具來生成HTML,稍后再由Excel加載該HTML,但是我卻失去了一些功能,加上Excel在加載它時會抱怨。我不需要生成圖表或類似的東西,只需導出原始數據即可。我正在考慮平面CSV文件,但是Excel是客戶要求。如果我有可以與Excel相互轉換的工具,則可以直接使用CSV。鑒于Excel 2007是基于xml(和壓縮)的文件格式,我猜想這種庫應該很容易找到。但是,對我來說最重要的是您的評論和意見。編輯:具有諷刺意味的是,在我看來,按照投票數最多的答案,最好的Excel導入和導出庫根本沒有導出。并非所有情況都如此,但我的情況如此。XLS文件僅支持64k行。XLSX最多支持1M。我嘗試過的免費庫的性能很差(當您有200k行時,一秒鐘才加載一行)。我沒有嘗試過付費服務,因為當您需要的是快速的XLSX <-> CSV轉換例程時,我覺得它們?yōu)樗鼈兲峁┑膬r值高估了。
3 回答

白豬掌柜的
TA貢獻1893條經驗 獲得超10個贊
如果您對代碼有最大的控制權,那么我將全力以赴獲取平面csv文件。只要確保您讀入這些行并一次處理它們即可(將文檔讀到末尾并拆分將占用所有的內存-與寫入相同,將其流式輸出)。
是的,用戶必須先在excel中另存為CSV,然后才能進行處理,但是也許可以通過培訓和在頁面上提供清晰的說明來克服此限制?
最后,當您導出給客戶時,如果將mime類型設置為text / csv,則通常會將Excel映射到該類型,以便用戶看到的是“ Excel文件”。

天涯盡頭無女友
TA貢獻1831條經驗 獲得超9個贊
自最初回答以來,我發(fā)現了Open XML SDK。它為電子表格對象提供了強類型化的類,并且看起來非常易于使用。我將用它在我的項目的一個報告。唉,2.0版是不應該得到釋放,直到2009年年底或2010。
- 3 回答
- 0 關注
- 359 瀏覽
添加回答
舉報
0/150
提交
取消