最後釋出 2015年5月22日 (2015/5/22),目前2021/02/09,已經多年未更新。
public static void WriteToExcel(string[] newInfoArray)
{
FileInfo fileInfo = new FileInfo(pathName);
using (ExcelPackage packge = new ExcelPackage(fileInfo))
{
ExcelWorksheet worksheet = packge.Workbook.Worksheets[sheetName];
for (int i = 0; i < newInfoArray.Length; ++i)
{
worksheet.Cells[selectIndex + 2, i + 1].Value = newInfoArray[i];
}
packge.Save();
}
}
********************************************************************************
Excel (.xlsx) 匯出、匯入 注意事項
目前拿來匯入的 .xlsx 檔案,若為直接用 Microsoft Excel 建立的,不會有問題。用任何元件匯出產生的 .xlsx,不保證匯入成功;就算此時再拿 Microsoft Excel 另存過一次也不保證匯入成功。
而用任何元件產生的 .xlsx 檔案,用 Microsoft Excel 開啟,也不保證 100% 成功。
有可能是元件本身相容性問題 or Bug or 程式寫法問題。
[研究][C#][ASP.NET][WebForm] ClosedXML 匯入錯誤:參數名稱: The range 工作表1!A1:L2 is already part of table 'Table1'
https://shaurong.blogspot.com/2020/04/closedxml-range-1a1l2-is-already-part.html
********************************************************************************
匯入、讀取Excel (.xlsx)
[研究][ASP.NET]使用 OpenXML SDK 2.12.1 讀取匯入 .xlsx 到資料庫
DocumentFormat.OpenXml 2.12.1
[研究][ASP.NET]使用 ClosedXML 0.95.4 讀取匯入 .xlsx 到資料庫
[研究][ASP.NET]使用 Aspose.Cells 21.1.0 讀取匯入 .xlsx 或 .ods 到資料庫
[研究][ASP.NET]使用 NPOI 2.5.2 讀取匯入 .xlsx 到資料庫
[研究][ASP.NET]使用 ExcelDataReader 3.6.0 讀取匯入 .xlsx 到資料庫
Comparison of ODF software - The Document Foundation Wiki
Comparison of ODF software - The Document Foundation Wiki
MS-Office 對 ODF 的支援並非100%
Libre Office 5.0 和 Apache OpenOffice 4.1 支援 ODF 1.0. 1.1, 1.2
Differences between the OpenDocument Spreadsheet (.ods) format and the Excel for Windows (.xlsx) format - Microsoft Support
.ods 對 .xlsx 的支援也沒有100%,所以 .xlsx 另存為 .ods,會喪失部分資訊。
History - The Document Foundation Wiki
https://wiki.documentfoundation.org/History- OpenOffice.org 1.0 (May 2002) ~ 1.1.5 (Sep 2005)
- OpenOffice.org 2.0 (Oct 2005) 支援 ODF ~ 2.4.3 (Sep 2009)
- OpenOffice.org 3.0 (Oct 2008) ~ 3.3.0 (Jan 2011)
- Apache OpenOffice 4.0 (Apr 2011)
LibreOffice - Wikipedia
- LibreOffice 3.3.0 (January 25, 2011) 支援 ODF
- LibreOffice 4.0 (February 2013)
- LibreOffice 5.0 (August 2015)
- LibreOffice 6.0 (31 January 2018) 支援 ODF 1.2
- LibreOffice 7.0 (5 August 2020) 支援 ODF 1.3
Apache OpenOffice - Wikipedia
- 3.4.0 2012-05-08,支援ODF
- 3.4.1 2012-08-23
- 4.0.0 2013-07-23,支援ODF 1.2
- 4.0.1 2013-10-01
- 4.1.0 2014-04-29
- 4.1.1 2014-08-21
- 4.1.2 2015-10-28
- 4.1.3 2016-10-12
- 4.1.4 2017-10-19
- 4.1.5 2017-12-30
- 4.1.6 2018-11-18
- 4.1.7 2019-09-21
- 4.1.9 2021-02-07,支援ODF 1.3
- 4.1.10 2021-05-04
- 4.1.11 2021-10-06
Top 20 NuGet ods Packagesz
********************************************************************************
匯出、寫入ODF/.ODS
目前免費最佳做法是安裝 Java JRE + LibreOffice + LibreOffice SDK,沒有免費好用元件,或付費買元件用。
[研究][ASP.NET]使用 Aspose.Cells 21.2.0 匯出、寫入 .ods 或 .xlsx
[研究][ASP.NET]使用 OdsReaderWriter + DotNetZip 1.15.0 (Ionic.Zip) 匯出寫入 .ods
Apache OpenOffice 4.1.3 SDK (2016-10-12) 只支援 .NET 2,但不支援 .NET 4.x
LibreOffice 5.3.0 SDK (2017-01-30) 支援 .NET 4.x,但不支援 x64
.NET Framework 4.0 於 2010-04-12 釋出,兩份SDK似乎沒有很好支援.NET
NuGet 排名前面的是付費元件 (可能有免費天數限制或功能限制的版本)
https://www.nuget.org/packages?q=ODSGemBox.Spreadsheet 是商業付費軟體,雖然有30天試用版,但功能有限制
Maximum number of rows per sheet is 150.
Maximum number of sheets per workbook is 5.
GleamTech.DocumentUltimate 是商業付費軟體,有全功能30天試用版
GroupDocs 是商業付費軟體,有全功能xx天試用版
********************************************************************************
匯入、讀取ODF/.ODS
目前免費最佳做法可能是安裝 Java JRE + LibreOffice + LibreOffice SDK,或使用使用 .NET 4.5 的 ZipFile,沒有免費好用元件,或付費買元件用。