: Nou te teste 12 bibliotek C# Excel kont travay menm jan an: kreye liv travay, li gwo seri done, fòma selil, ak ekspòte atravè platfòm yo. Gide sa a kouvri tout bagay ki soti nan MIT lisans opsyon sous louvri pou enterè klas komèsyal suites, ak bò-a-side kòd, pèfòmans benchmarks, koute lisans, ak yon ankadreman desizyon ede ou chwazi livrezon ki apwopriye pou pwojè ou. Pa gen yon sèl C# Excel livrezon genyen chak senaryo - pi bon chwa depann sou budgèt ou, skalè, ak destinasyon objektif. TL;DR Nou te pase twa semèn kouri chak nan 12 livrezon yo nan konpare sa a atravè senaryo tès menm: kreye livrezon soti nan zèb la, li 100,000 seri dataset, aplike fòmasyon kondisyone, ak ekspòte nan XLSX ak CSV sou tou de Windows ak Linux. Objektif la te bati konpare a nou te vle te egziste lè ekip nou pwòp yo te evalye opsyon - youn ki montre metòd, rekonèt komès ak pèmèt kòd la pale pou tèt li. Pwoteksyon konplè: Nou se ekip la DevRel ki anba a , youn nan 12 bibliyotèk yo nan konpare sa a. Sa vle di, nou kwè evalyasyon onèt sèvi tout moun pi byen pase marketing spin. Nou pral montre metòd nou an, rekonèt bias nou yo, epi kite benchmarks pale pou yo. Ki kote yon konpetitè reyèlman depase IronXL pou yon ka itilize done, nou pral di sa. Règleman Isit la se sa ki peyizaj la sanble nan yon gade - Lè sa a, nou pral ale nan depann sou chak bibliyotèk. // The task every library in this article performs: // Create a workbook → write headers + 3 data rows → save as XLSX // IronXL (3 lines of core logic) using IronXL; WorkBook wb = WorkBook.Create(ExcelFileFormat.XLSX); WorkSheet ws = wb.CreateWorkSheet("Sales"); ws["A1"].Value = "Product"; ws["B1"].Value = "Revenue"; ws["A2"].Value = "Widget"; ws["B2"].DoubleValue = 14999.99; wb.SaveAs("sales_ironxl.xlsx"); IronXL pwodiksyon Nou pral montre vèsyon an nan chak bibliyotèk nan travay sa a anba a, paske fason ki pi bon pou evalye yon API se li kòd la. Anvan nou rive nan pwofil endividyèl, yon note sou metòd la. Nou evalye chak bibliyotèk nan sèt dimansyon: (ki jan anpil liy pou reyalize travay komen), (ki kalite dosye ou ka li ak ekri), (diagram, pivote, formil yo) (Te ekri vitès ak memwa itilize nan skalè), (Linux, Docker ak Cloud) (koste reyèl ki gen ladan frè kache), ak (release cadence, gwosè kominote, bon jan kalite dokiman). Pa gen yon sèl bibliyotèk tèt tout sèt, pwa ou bay chak dimansyon deside pi bon chwa ou. API ergonomics format support feature depth performance cross-platform support licensing clarity maintenance health Ki C# Excel Bibliothè ou ta dwe chwazi? Tab la Quick-referans Anvan plonje nan 12 pwopriyete endividyèl, isit la se tablo a konpare. Tout revizyon nan tablo sa a se verifye ak dokimantasyon nan chak bibliyotèk ak pakè NuGet nan mwa fevriye 2026. Library License Entry Price XLSX Files XLS Files CSV Files .NET 8 LTS .NET 10 Linux/Docker Charts Pivot Tables Formula Engine NuGet Downloads IronXL Commercial $749/yr ✅ ✅ ✅ ✅ ✅ ✅ ❌ ❌ ✅ 3M+ EPPlus Commercial $299/yr ✅ ❌ ✅ ✅ ✅ ✅ ✅ ✅ ✅ 80M+ ClosedXML MIT Free ✅ ❌ ✅ ✅ ✅ ✅ ❌ ✅ ✅ 60M+ NPOI Apache 2.0 Free ✅ ✅ ❌ ✅ ✅ ✅ ✅ ❌ ✅ 50M+ Aspose.Cells Commercial $1,199/yr ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ 20M+ Syncfusion XlsIO Commercial/Free* $0–$995/yr ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ 15M+ GemBox.Spreadsheet Freemium $0–$890 ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ 5M+ OpenXML SDK MIT Free ✅ ❌ ❌ ✅ ✅ ✅ ✅ ✅ ❌ 100M+ ExcelDataReader MIT Free ✅ ✅ ✅ ✅ ✅ ✅ ❌ ❌ ❌ 70M+ Spire.XLS Commercial $999/dev ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ 3M+ SpreadsheetLight MIT Free ✅ ❌ ✅ ⚠️ ❌ ⚠️ ✅ ❌ ✅ 2M+ SpreadsheetGear Commercial $975/dev ✅ ✅ ✅ ✅ ✅ ✅ ✅ ❌ ✅ 1M+ IronXL Komèsyal $749 / ane ✅ ✅ ✅ ✅ ✅ ✅ ❌ ❌ ✅ 3m + nan EPPlus Pwodwi Komèsyal $ 299 / ane ✅ ❌ ✅ ✅ ✅ ✅ ✅ ✅ ✅ 80m + nan ClosedXML KòmanseXML nan gratis ✅ ❌ ✅ ✅ ✅ ✅ ❌ ✅ ✅ 60m + nan NPOI Apache nan 2.0 gratis ✅ ✅ ❌ ✅ ✅ ✅ ✅ ❌ ✅ 50m + nan Aspose.Cells Komèsyal $ 1,199 / ane ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ 20m + nan Syncfusion XlsIO Komèsyal / gratis * $0–$995 / ane ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ 15m + nan GemBox.Spreadsheet GemBox.Spreadsheet Freemium $0 – $890 nan ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ 5M+ OpenXML SDK MIT gratis ✅ ❌ ❌ ✅ ✅ ✅ ✅ ✅ ❌ 100m + nan ExcelDataReader nan gratis ✅ ✅ ✅ ✅ ✅ ✅ ❌ ❌ ❌ 70M+ Spire.XLS Pwodwi pou Telefòn Commercial $ 999 / dev ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ 3M+ SpreadsheetLight nan Free ✅ ❌ ✅ ⚠️ ❌ ️ ✅ ❌ ✅ 2M+ SpreadsheetGear Komèsyal $ 975 / dev ✅ ✅ ✅ ✅ ✅ ✅ ✅ ❌ ✅ 1M+ Syncfusion ofri yon lisans kominote gratis pou konpayi ak <$1M revni ak ≤5 devlopè. ⚠️ = sipò pati oswa pa tcheke. free Community License The short version, by scenario: → ClosedXML (MIT, mature, active development) Tight budget, full read/write? → IronXL or Aspose.Cells Enterprise-grade with premium support? Maximum karakteristik kouvri? → Aspose.Cells oswa Syncfusion XlsIO → ExcelDataReader Read-only, maximum speed? → OpenXML SDK Low-level control, no abstraction? → NPOI Java port, legacy XLS required? Koulye a, nou pral gade nan chak bibliyotèk nan detaye. The 12 C# Excel Libraries Worth Knowing in 2026 Chak pwofil anba a swiv estrikti a menm: sa ki library a se, yon egzanp kòd fè travay la estanda (kreye liv travay, ekri done, sove), fòs yo ak limitasyon yo reyèl, ak ki ta dwe sèvi ak li. Nou ap chèche pou egzanp - chak library resevwa menm tretman onèt. 1. IronXL — The All-in-One Commercial .NET Library IronXL is a commercial .NET Excel library from ki priorite senplisite API ak deplwaman ant platfòm. Li li ak ekri XLS, XLSX, CSV, TSV, ak JSON san yo pa mande pou Microsoft Office. Pifò karakteristik li yo tou gen ladan kreye ak edite Microsoft Excel fich, kapasite pou ekspòte Excel liv travay, travay ak fòmil, ak plis ankò. Ou ka menm ajoute fòma imaj nan fich Excel ou yo. Mwayen rale rale - vèsyon an dènye (2026.2) anbake ak sipò pou .NET 10. Iron Software using IronXL; // Create a new workbook and write data WorkBook wb = WorkBook.Create(ExcelFileFormat.XLSX); WorkSheet ws = wb.CreateWorkSheet("Sales"); ws["A1"].Value = "Product"; ws["B1"].Value = "Revenue"; ws["C1"].Value = "Date"; ws["A2"].Value = "Widget"; ws["B2"].DoubleValue = 14999.99; ws["C2"].Value = DateTime.Now.ToShortDateString(); // Apply formatting ws["B1:B2"].FormatString = "$#,##0.00"; wb.SaveAs("sales_ironxl.xlsx"); IronXL Output Excel File The API uses a WorkBook → WorkSheet → cell-addressing pattern that mirrors how developers think about spreadsheets. Cell addressing supports both A1 notation (ws["B2"]) and range expressions (ws["A1:C10"]), and the FormatString property accepts standard Excel format codes. The library handles formula recalculation automatically when cells are edited. Strengths: Minimal boilerplate, kreye, li, ak ekspòte done nan 3-5 liy kòd. Sa a fè se yon kouch pou ajoute nan aplikasyon .NET ou Cross-platform: Windows, Linux, macOS, Docker, Azure, AWS Lambda — all tested. Works across different .NET versions Mesye rele ak aktyèl koreksyon bug; senplisite a nan nivo API se diferansè a prensipal, pa pwodiksyon an brik (considere seksyon an Benchmarks pou nimewo onèt) Supports XLS (legacy) + XLSX + CSV + TSV + JSON in a unified API Real-world deployment: uses IronXL for nonprofit financial reconciliation, achieving 4× faster payment processing; powers logistics and healthcare Excel automation across Germany Brainycom ThreeB IT Limitations: No chart creation (you can read existing charts, but not generate them programmatically) No pivot table generation Commercial license required for production ($749/year for Lite) Yon kominote pi piti konpare ak EPPlus oswa ClosedXML Teams that need a clean API for reading/writing/exporting Excel data across platforms, don't need chart generation, and value professional support and frequent updates. Strong fit for data pipelines, report generation, and CSV/Excel conversion workflows. Best for: 2. — The Community Favorite Gone Commercial EPPlus EPPlus is one of the most downloaded .NET Excel libraries in history. Originally MIT-licensed, it nan vèsyon 5 (2020). Vèsyon an dènye gratis ( ) remains widely used but unmaintained. The commercial version is feature-rich with charts, pivot tables, and a strong formula engine. konvèti nan yon lisans komèsyal Polyform 4.5.3 on NuGet using OfficeOpenXml; ExcelPackage.License.SetNonCommercialOrganization("My Organization"); using var package = new ExcelPackage(); var ws = package.Workbook.Worksheets.Add("Sales"); ws.Cells["A1"].Value = "Product"; ws.Cells["B1"].Value = "Revenue"; ws.Cells["C1"].Value = "Date"; ws.Cells["A2"].Value = "Widget"; ws.Cells["B2"].Value = 14999.99; ws.Cells["C2"].Value = DateTime.Now; ws.Cells["C2"].Style.Numberformat.Format = "yyyy-mm-dd"; ws.Cells["B1:B2"].Style.Numberformat.Format = "$#,##0.00"; package.SaveAs(new FileInfo("sales_epplus.xlsx")); EEPlus Output EPPlus sèvi ak yon ExcelPackage → Workbook → Fèy travay hierarchi ki reflete byen modèl objè Excel la. Pwopriyete a Cells aksepte referans style A1 ak estil se aplike atravè yon objè style enkli. Remake liy la konfigirasyon lisans, EPPlus 5+ mande pou ou mete yon kontèks lisans anvan nenpòt operasyon. Strengths: Massive community and ecosystem, 80M+ NuGet downloads, extensive Stack Overflow coverage Charts, pivot tables, conditional formatting, data validation, VBA support Powerful LoadFromCollection<T>() ak LoadFromDataTable() pou mape objè-a-Excel Mature formula engine with broad function coverage Limitations: XLSX sèlman, pa gen okenn sipò pou fòma XLS legacy Commercial license required for any commercial use since v5 ($299/year base) Vèsyon 4.5.3 (la dènye vèsyon gratis) se san manyen ak manke ane de reparasyon bug Kòmanse ak memwa sou dosye trè gwo (100K + ranje) nan kèk konfigirasyon Teams with existing EPPlus investments, projects needing charts/pivot tables on a moderate budget, and developers who value the enormous community knowledge base. Best for: 3. ClosedXML — Chwa a nan devlopè Open-Source pou Excel API Pwodwi pou Microsoft nan yon devlopè-zanmitay API. MIT-lisans, aktifman kenbe (souvan angaje nan ), and used by millions. It's the go-to recommendation when developers ask for a free, full-featured Excel library on and .NET community forums. ClosedXML OpenXML SDK GitHub Pwodwi pou Overflow using ClosedXML.Excel; using var wb = new XLWorkbook(); var ws = wb.AddWorksheet("Sales"); ws.Cell("A1").Value = "Product"; ws.Cell("B1").Value = "Revenue"; ws.Cell("C1").Value = "Date"; ws.Cell("A2").Value = "Widget"; ws.Cell("B2").Value = 14999.99; ws.Cell("C2").Value = DateTime.Now; ws.Cell("B2").Style.NumberFormat.Format = "$#,##0.00"; wb.SaveAs("sales_closedxml.xlsx"); ClosedXML pwodiksyon ClosedXML's API is intuitive: XLWorkbook → AddWorksheet → Cell() with string-based addressing. The Style property chain is clean and discoverable via IntelliSense. It builds on top of OpenXML SDK, so it generates spec-compliant .xlsx files. Strengths: MIT license, genuinely free for all use, including commercial Limyè, entwisyon API ki fè OpenXML SDK supportable Active development with regular releases and responsive maintainers Good pivot table support and conditional formatting Grand kominote: 60M + NuGet downloads Limitations: XLSX only, no XLS legacy format support No chart creation (a frequently requested feature, still unimplemented) Performance degrades with very large datasets (100K+ rows can be slow or memory-intensive) Pa gen sipò komèsyal, kominote sèlman atravè GitHub Issues Open-source projects, budget-constrained teams, and any scenario where MIT licensing is a requirement. Excellent for small-to-medium datasets where chart generation isn't needed. Best for: 4. NPOI — The Java Port That Refuses to Die is the .NET port of , nan Java Excel bibliyotèk la. Li se youn nan kèk bibliyotèk gratis ki sipòte tou de XLS (BIFF) ak XLSX (OOXML) fòma. Apache 2.0 lisans. API a reflete eritaj Java li yo, li se plis verbose pase C#-native opsyon, men li se batay-teste ak travay ak fòma legacy ki bibliyotèk nouvo pa ka touche. Pandan Apache POI using NPOI.XSSF.UserModel; using NPOI.SS.UserModel; IWorkbook wb = new XSSFWorkbook(); ISheet ws = wb.CreateSheet("Sales"); IRow headerRow = ws.CreateRow(0); headerRow.CreateCell(0).SetCellValue("Product"); headerRow.CreateCell(1).SetCellValue("Revenue"); headerRow.CreateCell(2).SetCellValue("Date"); IRow dataRow = ws.CreateRow(1); dataRow.CreateCell(0).SetCellValue("Widget"); dataRow.CreateCell(1).SetCellValue(14999.99); dataRow.CreateCell(2).SetCellValue(DateTime.Now.ToShortDateString()); using var fs = new FileStream("sales_npoi.xlsx", FileMode.Create); wb.Write(fs); Apre pwodiksyon an NPOI requires explicit row and cell creation via CreateRow() and CreateCell(), pa gen okenn adrès selil ki baze sou string. Pou dosye XLS, swap XSSFWorkbook ak HSSFWorkbook. konsepsyon an ki baze sou entèfas la (IWorkbook, ISheet, IRow) vle di logik kòd menm ka mete nan nenpòt ki fòma pa chanje yon konstriktè sèl. Strengths: Apache 2.0 license, free for commercial use Supports both XLS (97-2003) and XLSX, one of few free libraries that handles legacy XLS Chart creation support (basic) Sèvi ak Word (.doc/.docx) ak PowerPoint anplis de dokiman Excel Proven at enterprise scale — ported from Apache POI with decades of Java heritage Limitations: Verbose, Java-style API, significantly more boilerplate than C#-native alternatives pèfòmans se anjeneral pi ba pase EPPlus, ClosedXML, oswa IronXL pou operasyon ekivalan Documentation is sparse and often in Chinese — English resources are community-contributed API can be unintuitive for developers unfamiliar with Apache POI Projects that li oswa ekri dosye XLS legacy san yon lisans komèsyal. Epitou apwopriye lè ou bezwen yon sèl bibliyotèk pou Excel + Word + PowerPoint sou yon budgèt nul. Best for: must 5. Aspose.Cells — The Enterprise Heavyweight se pi fonksyon-rich .NET Excel library ki disponib. Li sipòte pratikman tout karakteristik Excel: grafik, tab pivot, fòma kondisyon, validasyon done, sparklines, slicers, makro VBA, ak plis ankò. Li se tou opsyon an ki pi chè. Aspose pozisyon li kòm yon platfòm otomatik Excel konplè, pa sèlman yon dosye I / O library. Aspose.Cells using Aspose.Cells; Workbook wb = new Workbook(); Worksheet ws = wb.Worksheets[0]; ws.Cells["A1"].PutValue("Product"); ws.Cells["B1"].PutValue("Revenue"); ws.Cells["C1"].PutValue("Date"); ws.Cells["A2"].PutValue("Widget"); ws.Cells["B2"].PutValue(14999.99); ws.Cells["C2"].PutValue(DateTime.Now); Style style = wb.CreateStyle(); style.Number = 7; // $#,##0.00 ws.Cells["B2"].SetStyle(style); wb.Save("sales_aspose.xlsx"); Aspose.Cells Output Aspose.Cells uses a Workbook → Worksheets → Cells hierarchy. Data is written with PutValue() rather than direct assignment. Styling requires creating a Style object and applying it, more steps than some competitors, but it provides granular control over every formatting property. Strengths: Pi konplè karakteristik mete nan .NET Excel ekosistèm, si Excel ka fè li, Aspose.Cells pwobableman sipòte li Ekselan pèfòmans sou dosye gwo, optimisé pou pwosesis batch nan enterprise-scale Eksepsyonèl sipò fòma: XLSX, XLS, XLSB, XLSM, CSV, ODS, PDF, HTML, imaj Excel-to-PDF rendering that's among the most faithful available Strong documentation, extensive code samples, and dedicated support team Limitations: Pwen pri ki pi wo: Developer Small Business kòmanse nan $ 1,199 / ane; OEM nivo rive nan $ 11,198 API se verbose nan kote, kreye ak aplike style se plis seremonyen pase IronXL oswa ClosedXML Sifas la API masiv ka overwhelming pou travay senp Dependans grav, pakè a NuGet se gwo Enterprise teams with budget for premium tooling, projects requiring advanced features (charts, pivots, sparklines, VBA), and workflows needing high-fidelity . Best for: Excel-to-PDF conversion 6. Syncfusion XlsIO — The Suite Play se yon pati nan pakèt la Essential Studio masiv nan Syncfusion. Li ofri yon kouvèti lajè nan karakteristik Excel ak benefis nan ekosistèm kontwòl UI ant platfòm nan Syncfusion. Gratis lisans kominote (pou konpayi ki anba $ 1M revni, ≤ 5 devlopè) fè li aksè nan ekip ti. Syncfusion Essential XlsIO using Syncfusion.XlsIO; using ExcelEngine excelEngine = new ExcelEngine(); IApplication app = excelEngine.Excel; app.DefaultVersion = ExcelVersion.Xlsx; IWorkbook wb = app.Workbooks.Create(1); IWorksheet ws = wb.Worksheets[0]; ws.Range["A1"].Text = "Product"; ws.Range["B1"].Text = "Revenue"; ws.Range["C1"].Text = "Date"; ws.Range["A2"].Text = "Widget"; ws.Range["B2"].Number = 14999.99; ws.Range["C2"].DateTime = DateTime.Now; ws.Range["B2"].NumberFormat = "$#,##0.00"; wb.SaveAs("sales_syncfusion.xlsx"); Syncfusion XlsIO Output Syncfusion uses an ExcelEngine → IApplication → IWorkbook hierarchy that mirrors Excel's COM object model. Cell access is through Range[] with separate typed properties (Text, Number, DateTime). This strongly-typed approach catches type errors at compile time rather than runtime. Strengths: Karakteristik rich: Sèvi ak sous done yo kreye grafik, tab poto, fòma kondisyon, validasyon done, makè modèl, sparklines Free Community License for small companies, a genuine differentiator Excel-to-PDF konvèsyon ki gen ladan Deep integration with Syncfusion's Blazor, MAUI, and WPF UI controls Devlopman aktif ak vèsyon trimestral; cross-platform (Windows, Linux, macOS, Docker) Limitations: The Community License has strict eligibility requirements, companies over $1M revenue must purchase Full Suite pricing is complex and can be expensive ($995/dev/year for Essential Studio) Library is part of a massive suite, you're pulling in more dependencies than needed for Excel-only work Vendor lock-in concern: deep Syncfusion ecosystem integration can make migration difficult Teams already using Syncfusion's UI controls, startups qualifying for the free Community License, and projects needing tight integration between Excel processing and Blazor/MAUI front ends. Best for: 7. — The Performance-Focused Mid-Tier GemBox.Spreadsheet is a commercially licensed .NET component with a compelling free tier (150 rows, 5 sheets). It advertises strong performance numbers — the company claims 1 million rows in under 3.5 seconds with less than 256MB RAM — and supports an unusually broad range of output formats including PDF, XPS, and image rendering. Available on . GemBox.Spreadsheet nan Nwa using GemBox.Spreadsheet; SpreadsheetInfo.SetLicense("FREE-LIMITED-KEY"); var wb = new ExcelFile(); var ws = wb.Worksheets.Add("Sales"); ws.Cells["A1"].Value = "Product"; ws.Cells["B1"].Value = "Revenue"; ws.Cells["C1"].Value = "Date"; ws.Cells["A2"].Value = "Widget"; ws.Cells["B2"].Value = 14999.99; ws.Cells["C2"].Value = DateTime.Now; ws.Cells["B2"].Style.NumberFormat = "$#,##0.00"; wb.Save("sales_gembox.xlsx"); GemBox.Spreadsheet pwodiksyon GemBox sèvi ak ExcelFile → Fèy travay → selil ak adrès ki baze sou string. API a se netwaye ak menm jan ak modèl la nan ClosedXML. Key a gratis nivo (FREE-LIMITED-KEY) pèmèt evalyasyon san yo pa watermarks - jis ak limite ranje. Strengths: Pwofesyonèl pèfòmans revele sou gwo seri done (1M ranje, <256MB, <3.5s) PDF, XPS, and image export built in — no separate library needed Deskripsyon, tab pivot, fòma kondisyon, ak sipò pou validasyon done Free tier for small datasets (useful for prototyping) Clean, idiomatic C# API Limitations: Free tier limited to 150 rows and 5 sheets — too restrictive for most real applications Yon kominote ki pi piti pase EPPlus, ClosedXML, oswa NPOI - mwens Stack Overflow repons Professional license starts at ~$890 (one-time) — competitive but not cheap Less name recognition — harder to get team buy-in compared to established alternatives Performance-sensitive applications processing large files, projects needing built-in PDF/image export from Excel, and teams that value one-time licensing over subscriptions. Best for: OpenXML SDK – Fondasyon Layer Pèmèt aksè nan nivo ki ba Li se sa ki ClosedXML ak anpil lòt bibliyotèk yo te bati sou. MIT-license, mantal pa Microsoft, ak ba ou kontwòl dirèkteman sou estrikti XML nan dosye .xlsx. Komès: ou esansyèlman ekri XML ak ajouteurs. Open XML SDK nan Microsoft Office Open XML documents using DocumentFormat.OpenXml; using DocumentFormat.OpenXml.Packaging; using DocumentFormat.OpenXml.Spreadsheet; using var doc = SpreadsheetDocument.Create("sales_openxml.xlsx", SpreadsheetDocumentType.Workbook); var workbookPart = doc.AddWorkbookPart(); workbookPart.Workbook = new Workbook(); var worksheetPart = workbookPart.AddNewPart<WorksheetPart>(); worksheetPart.Worksheet = new Worksheet(new SheetData()); var sheets = workbookPart.Workbook.AppendChild(new Sheets()); sheets.Append(new Sheet { Id = workbookPart.GetIdOfPart(worksheetPart), SheetId = 1, Name = "Sales" }); var sheetData = worksheetPart.Worksheet.GetFirstChild<SheetData>(); var row = new Row { RowIndex = 1 }; row.Append(new Cell { CellReference = "A1", DataType = CellValues.String, CellValue = new CellValue("Product") }); row.Append(new Cell { CellReference = "B1", DataType = CellValues.String, CellValue = new CellValue("Revenue") }); sheetData.Append(row); workbookPart.Workbook.Save(); OpenXML Output Let's be direct: that's a lot of code just to write two cells. OpenXML SDK requires you to manually construct the XML document structure, workbook parts, worksheet parts, sheet data, rows, cells, cell references, data types. There's no worksheet["A1"] = value convenience. Strengths: MIT lisans, ki te kenbe pa Microsoft, kòm "ofisyèl" kòm li jwenn Maximum control over document structure, nothing is abstracted away Memory-efficient for streaming writes (SAX-style approach available) 100M + NuGet downloads, fondasyon an nan anpil lòt livri depann sou No third-party risk, it's from Microsoft themselves Limitations: Ekstremman enteresan, travay senp mande pou 5-10x plis kòd pase nenpòt ki library pi wo nivo No formula calculation engine, formulas are stored as strings, not evaluated No XLS support, OOXML (.xlsx) only No convenient cell addressing, formatting shortcuts, or data binding helpers Steep aprantisaj koub, ou bezwen konprann espesifikasyon an OOXML Library authors building their own Excel abstraction, scenarios requiring absolute control over document structure, and teams with strict "no third-party dependencies" policies who can absorb the development cost. Best for: 9. ExcelDataReader — The Lightweight Read-Only Specialist does one thing and does it well: reading Excel files. It supports XLS, XLSX, and CSV through a streaming IDataReader interface that's memory-efficient for large files. MIT-licensed. If you only need to spreadsheets, this should be your first consideration. ExcelDataReader read using ExcelDataReader; using System.Data; // Required for .NET Core System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance); using var stream = File.Open("sales_data.xlsx", FileMode.Open, FileAccess.Read); using var reader = ExcelReaderFactory.CreateReader(stream); DataSet result = reader.AsDataSet(new ExcelDataSetConfiguration { ConfigureDataTable = _ => new ExcelDataTableConfiguration { UseHeaderRow = true } }); DataTable table = result.Tables[0]; foreach (DataRow row in table.Rows) { Console.WriteLine($"{row["Product"]}: {row["Revenue"]}"); } ExcelDataReader Reading Output ExcelDataReader returns data through the familiar System.Data interfaces: IDataReader for streaming and DataSet/DataTable for materialized results. The UseHeaderRow = true configuration promotes the first row to column names. Note the encoding provider registration, required on .NET Core for XLS format support. Strengths: MIT license — free for everything Lightweight: small NuGet package, minimal dependencies Streaming reader — memory-efficient for large files Supports both XLS and XLSX plus CSV DataTable entegre fè li fasil pou pipe done nan baz done oswa lòt sistèm 70M+ NuGet downloads — proven reliability Limitations: — cannot create or modify Excel files Read-only Pa fòma, styling, grafik, oswa evalyasyon formil Pa gen okenn adrès selil - aksè done ki baze sou ranje / kolòn sèlman Requires manual encoding provider registration on .NET Core ETL pipelines, data import workflows, migration tools, and any scenario where you need to Excel data quickly and cheaply without ever writing back to a spreadsheet. Best for: Li nan 10. — The eIceBlue Contender Pwodwi pou Telefòn by eIceBlue is a commercial Excel component with a free version limited to 200 rows and 5 sheets. The commercial version supports the full range of Excel features including charts, pivot tables, and Excel-to-PDF conversion. eIceBlue also offers Word, PDF, and PowerPoint libraries in their Spire.Office bundle. Spire.XLS pou .NET using Spire.Xls; Workbook wb = new Workbook(); Worksheet ws = wb.Worksheets[0]; ws.Name = "Sales"; ws.Range["A1"].Text = "Product"; ws.Range["B1"].Text = "Revenue"; ws.Range["C1"].Text = "Date"; ws.Range["A2"].Text = "Widget"; ws.Range["B2"].NumberValue = 14999.99; ws.Range["C2"].DateTimeValue = DateTime.Now; ws.Range["B2"].NumberFormat = "$#,##0.00"; wb.SaveToFile("sales_spire.xlsx", ExcelVersion.Version2016); Spire.XLS Output Spire.XLS swiv yon modèl ki sanble ak Syncfusion, Workbook → Worksheet → Range ak pwopriyete valè enprime. Metòd la SaveToFile mande pou espesifye vèsyon an Excel objektif eksplisitman. Strengths: Comprehensive feature set: charts, pivots, conditional formatting, encryption, digital signatures Konvèsyon Excel-a-PDF ak Excel-a-imaj entegre nan Free version available (200 rows, 5 sheets), more generous than GemBox's free tier for row count sipòte XLS ak XLSX Part of the broader Spire.Office suite Limitations: Free version's 200-row limit is too restrictive for most production use Pri komèsyal kòmanse nan ~999 $ / devlopè, nan fen pi wo a Smaller .NET community presence compared to Aspose or Syncfusion Documentation quality is inconsistent, some API areas are poorly documented Java heritage shows in some API patterns Ekip evalye alternativ komèsyal pou Aspose.Cells nan yon pri diferan, ak pwojè deja lè l sèvi avèk lòt konpozan Spire.Office. Best for: 11. SpreadsheetLight — The Minimalist is an MIT-licensed library built on OpenXML SDK. It aims to be the "simple" option — easy to learn, lightweight, and sufficient for common spreadsheet tasks. The tradeoff is that development has stalled — the last meaningful update was several years ago. Pwodwi pou using SpreadsheetLight; using var doc = new SLDocument(); doc.SetCellValue("A1", "Product"); doc.SetCellValue("B1", "Revenue"); doc.SetCellValue("C1", "Date"); doc.SetCellValue("A2", "Widget"); doc.SetCellValue("B2", 14999.99); doc.SetCellValue("C2", DateTime.Now.ToShortDateString()); doc.SaveAs("sales_spreadsheetlight.xlsx"); SpreadsheetLight sèvi ak yon sèl klas SLDocument kòm pwen envantè. Metòd la SetCellValue se overloaded pou diferan kalite. Li se sansiblite pi senp API nan konpare sa a - men senpite a vini ak yon pri. Strengths: MIT lisans, reyèlman gratis Extremely simple API, lowest learning curve in this roundup Lightweight, minimal dependencies (just OpenXML SDK) Basic sipò grafik (plis pase ClosedXML ofri) Bon ase pou relasyon senp ak done ekspòte travay Limitations: , infrequent updates, last major activity was years ago Appears unmaintained .NET Framework konsantre, .NET Core/.NET 8+ konpatibilite se enkyetid XLSX sèlman, pa gen okenn sipò pou XLS Limited feature set compared to active alternatives Small community, limited Stack Overflow coverage and troubleshooting resources Simple, one-off spreadsheet generation tasks in .NET Framework projects where you need something lightweight and free. For this use case, ClosedXML might actually be the better choice given its active maintenance. Best for: 12. SpreadsheetGear — The Enterprise Veteran has been in the .NET Excel space for over a decade. It positions itself as the high-performance, Excel-compatible calculation engine for enterprise applications. The library includes charting, a formula engine with 450+ functions, and WinForms/WPF spreadsheet controls for building interactive Excel-like UIs. SpreadsheetGear using SpreadsheetGear; IWorkbook wb = Factory.GetWorkbook(); IWorksheet ws = wb.Worksheets["Sheet1"]; IRange cells = ws.Cells; cells["A1"].Value = "Product"; cells["B1"].Value = "Revenue"; cells["C1"].Value = "Date"; cells["A2"].Value = "Widget"; cells["B2"].Value = 14999.99; cells["C2"].Value = DateTime.Now; cells["B2"].NumberFormat = "$#,##0.00"; wb.SaveAs("sales_spreadsheetgear.xlsx", FileFormat.OpenXMLWorkbook); Pwodwi pou livrezon API a nan SpreadsheetGear estriktirèlman reflete modèl objè Excel VBA, devlopè ki te ekri macros nan Excel pral santi imedyatman nan kay la. Modèl la Factory.GetWorkbook() ak entèfas la IRange swiv konvansyon nan Excel estriktirèlman. Strengths: Plis pase 450 fonksyon entegre, youn nan motè a formil ki pi konplè nan nenpòt nan livrezon .NET High-performance calculations optimized for financial modeling scenarios WinForms and WPF spreadsheet UI controls for building interactive Excel-like interfaces Excellent Excel compatibility, aims for pixel-perfect rendering Long track record, pwodiksyon-provize nan anviwònman antrepriz Limitations: Pwen pri pi wo (~ $ 975 / devlopè) ak pri ki mwens vizib, dwe kontakte lavant Smaller developer community than EPPlus, ClosedXML, or NPOI Less modern API feel compared to newer entrants Limite prezans sou platfòm kominote modèn (HackerNoon, Dev.to, elatriye) Pa gen yon kategori gratis oswa edisyon kominote Financial applications needing a powerful calculation engine, desktop applications requiring embedded spreadsheet UI controls, and enterprise environments where Excel VBA migration is the use case. Best for: Feature Showdown: What Can Each Library Actually Do? Beyond the basics of reading and writing cells, Excel libraries differ dramatically in their advanced feature support. Here's what we found when we tested features that matter in production applications. Sèvi ak fòma dosye Library XLSX XLS XLSB XLSM CSV TSV JSON ODS PDF Export IronXL ✅ ✅ ❌ ✅ ✅ ✅ ✅ ❌ ❌ EPPlus ✅ ❌ ❌ ✅ ✅ ❌ ❌ ❌ ❌ ClosedXML ✅ ❌ ❌ ✅ ✅ ❌ ❌ ❌ ❌ NPOI ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌ Aspose.Cells ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ Syncfusion ✅ ✅ ❌ ✅ ✅ ✅ ✅ ❌ ✅ GemBox ✅ ✅ ✅ ✅ ✅ ✅ ❌ ✅ ✅ OpenXML SDK ✅ ❌ ❌ ✅ ❌ ❌ ❌ ❌ ❌ ExcelDataReader ✅ ✅ ❌ ❌ ✅ ❌ ❌ ❌ ❌ Spire.XLS ✅ ✅ ✅ ✅ ✅ ❌ ❌ ✅ ✅ SpreadsheetLight ✅ ❌ ❌ ❌ ✅ ❌ ❌ ❌ ❌ SpreadsheetGear ✅ ✅ ❌ ❌ ✅ ❌ ❌ ❌ ✅ IronXL ✅ ✅ ❌ ✅ ✅ ✅ ✅ ❌ ❌ EPPlus ✅ ❌ ❌ ✅ ✅ ❌ ❌ ❌ ❌ KòmanseXML ✅ ❌ ❌ ✅ ✅ ❌ ❌ ❌ ❌ NPOI ✅ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌ Pwodwi pou Telefòn ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ Syncfusion nan ✅ ✅ ❌ ✅ ✅ ✅ ✅ ❌ ✅ GemBox ✅ ✅ ✅ ✅ ✅ ✅ ❌ ✅ ✅ OpenXML SDK nan ✅ ❌ ❌ ✅ ❌ ❌ ❌ ❌ ❌ ExcelDataReader ✅ ✅ ❌ ❌ ✅ ❌ ❌ ❌ ❌ Pwodwi pou Telefòn ✅ ✅ ✅ ✅ ✅ ❌ ❌ ✅ ✅ Pwodwi pou ✅ ❌ ❌ ❌ ✅ ❌ ❌ ❌ ❌ Pwodwi pou ✅ ✅ ❌ ❌ ✅ ❌ ❌ ❌ ✅ Format sipò gap se enpòtan. Si ou bezwen for free, NPOI is your only real option. If you need , ou ap gade nan Aspose.Cells, Syncfusion, GemBox, Spire.XLS, oswa SpreadsheetGear, tout komèsyal. Fòs la nan IronXL isit la se API a konbine pou XLSX + XLS + CSV + TSV + JSON, yon konbinezon pratik pou travay pipeline done. XLS legacy support PDF export from Excel Charts, Pivot Tables & Advanced Features Library Charts Pivot Tables Cond. Formatting Data Validation Images Formula Engine IronXL ❌ ❌ ✅ ✅ ✅ ✅ (auto-recalc) EPPlus ✅ ✅ ✅ ✅ ✅ ✅ ClosedXML ❌ ✅ ✅ ✅ ✅ ✅ NPOI ✅ (basic) ❌ ✅ ✅ ✅ ✅ Aspose.Cells ✅ ✅ ✅ ✅ ✅ ✅ Syncfusion ✅ ✅ ✅ ✅ ✅ ✅ GemBox ✅ ✅ ✅ ✅ ✅ ✅ OpenXML SDK ✅ (manual XML) ✅ (manual XML) ✅ (manual XML) ✅ (manual XML) ✅ ❌ ExcelDataReader ❌ ❌ ❌ ❌ ❌ ❌ Spire.XLS ✅ ✅ ✅ ✅ ✅ ✅ SpreadsheetLight ✅ (basic) ❌ ✅ ✅ ✅ ✅ SpreadsheetGear ✅ ❌ ✅ ✅ ✅ ✅ (450+ functions) IronXL ❌ ❌ ✅ ✅ ✅ ✅ (auto-recalc) EPPlus ✅ ✅ ✅ ✅ ✅ ✅ KòmanseXML ❌ ✅ ✅ ✅ ✅ ✅ Pandan (Basic) nan ❌ ✅ ✅ ✅ ✅ Aspose.Cells ✅ ✅ ✅ ✅ ✅ ✅ Syncfusion nan ✅ ✅ ✅ ✅ ✅ ✅ Pwodwi pou ✅ ✅ ✅ ✅ ✅ ✅ OpenXML SDK nan ✅ (manual XML) ✅ (manual nan XML) ✅ (manual nan XML) ✅ (manual XML) ✅ ❌ ExcelDataReader ❌ ❌ ❌ ❌ ❌ ❌ Pwodwi pou Telefòn ✅ ✅ ✅ ✅ ✅ ✅ SpreadsheetLight (Basic) nan ❌ ✅ ✅ ✅ ✅ Pwodwi pou ✅ ❌ ✅ ✅ ✅ ✅ (450+ functions) komès la isit la se klè. Si ou bezwen , you need EPPlus, Aspose.Cells, Syncfusion, GemBox, or Spire.XLS. IronXL and ClosedXML both lack chart creation — an honest limitation worth acknowledging. For read/write data work without charts, both offer cleaner APIs than the chart-capable alternatives. chart and pivot table creation Performance: Benchmark Results Across Real-World Operations Performance claims without methodology are marketing. Here's how we structured our tests, and the results will probably surprise you. Methodology We ran a standardized benchmark suite across 15 libraries (our core 12 plus , E Kòm yon kontan bonis). Anplis de yon sèl travay sentetik, nou te teste kat operasyon reyèl ki reflete sa devlopè reyèlman bati ak bibliotek Excel: Pwodwi pou MiniExcel Fasilite Jenerasyon rapò finansye: Kreye yon liv travay rapò 12 mwa ak fòmil ak fòma Tracking envantè: Kreye yon 500-apwòch, 3 magazen tracking tablo ak referans kout : Process and write 10,000 transactions with aggregation Sales Data Analysis Processing Employee Payroll: Genere yon liv travay payroll nan 250 anplwaye ak jaden kalkil Tout tès te mesye tan kouri (ms) ak memwa piki (MB). Tès yo te kouri sou .NET 8 ak iterasyon plizyè; nou rapòte valè yo anrejistre soti nan benchmark nou an. Se sèlman tès ki te konplete avèk siksè rapòte, bibliyotèk ki te manke yon operasyon done yo te deyò soti nan tab sa a anvan yo penalize. Jenerasyon rapò finansye (12 mwa rapò) Rank Library Time (ms) Memory (MB) 1 SpreadCheetah 2.9 0.2 2 DevExpress 53.2 4.5 3 Aspose.Cells 55.5 0.25 4 Spire.XLS 80.3 1.2 5 OfficeIMO 257.6 2.1 6 IronXL 498.1 4.2 1 SpreadCheetah 2.9 0.2 2 DevExpress nan 53.2 4.5 3 Pwodwi pou Telefòn 55.5 0.25 4 Pwodwi pou Telefòn 80.3 1.2 5 OfficeIMO 257.6 2.1 6 IronXL 498.1 4.2 2.9ms nan SpreadCheetah se etonan, li se yon ekri-only, avanse-only livrezon streaming ki fèt eksplisitman pou maksimòm pase. Li sacrifice konpetans API (pa aksè selil alantou, pa gen okenn lekti) pou vitès brik. Pou jenerasyon rapò pur kote ou konnen estrikti a pwodiksyon an avanse, li se esansyèlman imedyatab. Aspose.Cells ak DevExpress kouvèti tou pre nan ranje a 53-56ms, reprezante nivo ki pi wo nan mitan livrezon plen karakteristik. IronXL trace isit la nan 498ms. Pou yon rapò yon fwa chak mwa, sa a se imperceptible pou itilizatè final la. Pou yon travay batch ki genere dè milye de rapò, li vin yon konsèp, ak SpreadCheetah oswa Aspose.Cells ta dwe chwa a pi bon pou sa a travay espesifik. Tracking envantè (500 atik, 3 magazen) Rank Library Time (ms) Memory (MB) 1 EPPlus 51.2 2.9 2 ExcelMapper 54.1 4.9 3 SpreadCheetah 56.3 2.1 4 Aspose.Cells 136.5 2.4 5 Spire.XLS 183.2 1.4 6 DevExpress 451.7 5.0 7 IronXL 1,344.5 18.7 8 OfficeIMO 16,659.5 14.4 1 Pwodwi 51.2 2.9 2 ExcelMapper 54.1 4.9 3 SpreadCheetah 56.3 2.1 4 Pwodwi pou Telefòn 136.5 2.4 5 Pwodwi pou Telefòn 183.2 1.4 6 DevExpress nan 451.7 5.0 7 IronXL 1,344.5 18.7 8 Biwo 16959 Nimewo 14.4 EPPlus dominates this mid-complexity operation, followed closely by SpreadCheetah and ExcelMapper. The memory numbers tell an important story: Spire.XLS achieves competitive speed at just 1.4MB, the most memory-efficient result for this test. IronXL's 18.7MB footprint at rank 7 reflects its DOM-based architecture loading the full document model into memory. That said, 1.3 seconds for a 500-item inventory workbook is perfectly acceptable for interactive use, it's the kind of overhead you optimize only when it shows up in profiling. Analiz done lavant (10,000 tranzaksyon) This is the heaviest test, 10,000 rows with aggregation. It separates libraries built for scale from those optimized for convenience. Rank Library Time (ms) Memory (MB) 1 CsvHelper 140.3 9.3 2 ClosedXML 262.5 16.4 3 SpreadCheetah 289.7 15.9 4 FastExcel 346.7 13.8 5 MiniExcel 638.3 17.7 6 EPPlus 671.0 21.3 7 Aspose.Cells 696.5 15.3 8 NPOI 1,930.4 35.0 9 Spire.XLS 2,015.5 26.8 10 DevExpress 4,860.6 25.0 11 IronXL 11,322.9 80.9 1 Pwodwi pou 140.3 9.3 2 KòmanseXML 262.5 16.4 3 Pwodwi pou 289.7 15.9 4 Fasilite 346.7 13.8 5 MiniExcel 638.3 17.7 6 Pwodwi 671.0 21.3 7 Aspose.Cells 696.5 15.3 8 Pandan 1 9304 nan 35.0 9 Pwodwi pou Telefòn Règleman 26.8 10 DevExpress 4,860.6 25.0 11 IronXL 11,322.9 80.9 Se pou nou dwe frank: IronXL fini dènye nan tès sa a, ak diferans la se enpòtan. Nan 11.3 segonn ak 80.9MB, li se 80x pi ba pase CsvHelper ak 43x pi ba pase ClosedXML. CsvHelper genyen paske li se yon analizè CSV ki te bati pou yon objektif - pa yon bibliote Excel konplè - epi yo evite konstriksyon an nan dokiman OOXML konplètman. ClosedXML a dezyèm plas montre se etonan pou yon library gratis, konplètman karakteristik. Implikasyon pratik: si ou bati yon tiyo done ki pwosesis plis pase 10,000 transaksyon dataset repete, IronXL se pa zouti a apwopriye pou travay sa a espesifik. EPPlus, ClosedXML, oswa yon livrezon streaming tankou SpreadCheetah pral sèvi ou dramatikman pi bon. IronXL nan fòs - API senplisite, sipò cross-format, sipò pwofesyonèl - parèt nan lòt dimansyon nan evalyasyon sa a, ki pa pwodiksyon an brik nan mas la. Pwoteksyon salè nan anplwaye (250 anplwaye) Only three libraries completed this complex, multi-sheet operation successfully: Rank Library Time (ms) Memory (MB) 1 Aspose.Cells 404.0 3.8 2 IronXL 2,893.0 12.5 3 Spire.XLS 4,323.0 N/A* 1 Pwodwi pou Telefòn 404.0 3.8 2 IronXL 2,893.0 12.5 3 Spire.XLS 4,323 Pwodwi N/A* Spire.XLS rapòte metòd memwa negatif - pwobableman yon artefakt metòd. Pifò bibliyotèk oswa pa te eseye tès sa a oswa pa te konplete li. Fakti ke sèlman twa bibliyotèk te siksè pale nan konplisite a nan plizyè tablo, fòmil-gwo liv travay ak jaden kalkil. Aspose.Cells mennen enpòtan. IronXL fini dezyèm, pi lontan, men li te konplete operasyon an avèk siksè ak pwodwi pwodiksyon ki kòrèk, ki pifò konpetitè pa te kapab sove. What the Benchmarks Tell Us (and What They Don't) Twa modèl vini soti nan done sa a. Premye, . SpreadCheetah ap parèt nan tèt la 3 nan chak tès li te antre, men li pa ka li dosye, pa ka fè aksè selil alantou, ak pa ka aplike fòmasyon konplèks apre ekri. Si vitès se pwoblèm prensipal ou ak ou se kreye estrikti rapò konnen, li vo ajoute nan lis la evalyasyon ou. Dezyèm, nan mitan nivo a. Aspose.Cells, EPPlus, ak Spire.XLS anjeneral komès pozisyon depann sou kalite a nan operasyon an. Tèm, ARCHITEKTUR DOM ki baze sou li yo ak abstraksyon API segondè-nivo prezante overhead ki parèt nan mas la, komès la pou API a 3 liy ki san danje ou te wè nan entwodiksyon an. streaming/write-only libraries dominate speed benchmarks full-featured commercial libraries cluster together IronXL's performance profile favors simplicity over speed Nan pratik la, pi fò aplikasyon biznis pwosesis byen anba 10,000 ranje. Yon rapò lavant chak mwa ak 500 ranje, yon ekspòtasyon trimestral ak 2,000 tranzaksyon, yon snapshot envantè ak kèk dè santèn de SKUs, travay sa yo kouri byen sou nenpòt nan livrezon nan konpare sa a, IronXL ki gen ladan. Diferans nan pèfòmans vin deciding-relevant sèlman nan mas la, e menm Lè sa a, repons la kòrèk se souvan chwazi zouti a kòrèk pou chak travay espesifik anvan obligasyon yon sèl livrezon nan fè tout bagay. Cross-Platform Support: Will It Run on Linux, Docker, and Cloud? Si aplikasyon ou deplwaye nan Docker containers, Azure App Service sou Linux, oswa AWS Lambda, bibliotek Excel ou dwe travay san yo pa depans espesifik nan Windows. Library Windows Linux macOS Docker Azure App Svc AWS Lambda Blazor WASM IronXL ✅ ✅ ✅ ✅ ✅ ✅ ❌ EPPlus ✅ ✅ ✅ ✅ ✅ ✅ ❌ ClosedXML ✅ ✅ ✅ ✅ ✅ ✅ ❌ NPOI ✅ ✅ ✅ ✅ ✅ ✅ ❌ Aspose.Cells ✅ ✅ ✅ ✅ ✅ ✅ ❌ Syncfusion ✅ ✅ ✅ ✅ ✅ ✅ ✅ (server) GemBox ✅ ✅ ✅ ✅ ✅ ✅ ❌ OpenXML SDK ✅ ✅ ✅ ✅ ✅ ✅ ✅ ExcelDataReader ✅ ✅ ✅ ✅ ✅ ✅ ❌ Spire.XLS ✅ ✅ ✅ ✅ ✅ ⚠️ ❌ SpreadsheetLight ✅ ⚠️ ⚠️ ⚠️ ⚠️ ❌ ❌ SpreadsheetGear ✅ ✅ ✅ ✅ ✅ ✅ ❌ IronXL ✅ ✅ ✅ ✅ ✅ ✅ ❌ Pwodwi ✅ ✅ ✅ ✅ ✅ ✅ ❌ KòmanseXML ✅ ✅ ✅ ✅ ✅ ✅ ❌ NPOI ✅ ✅ ✅ ✅ ✅ ✅ ❌ Pwodwi pou Telefòn ✅ ✅ ✅ ✅ ✅ ✅ ❌ Syncfusion nan ✅ ✅ ✅ ✅ ✅ ✅ ✅ (server nan) GemBox ✅ ✅ ✅ ✅ ✅ ✅ ❌ OpenXML SDK nan ✅ ✅ ✅ ✅ ✅ ✅ ✅ ExcelDataReader ✅ ✅ ✅ ✅ ✅ ✅ ❌ Spire.XLS ✅ ✅ ✅ ✅ ✅ ️ ❌ Pwodwi pou ✅ ️ ⚠️ ️ ️ ❌ ❌ SpreadsheetGear ✅ ✅ ✅ ✅ ✅ ✅ ❌ Yon bon nouvèl: Pifò modèn, aktivman manyen bibliyotèk travay ant-platfòm sou .NET 8+. SpreadsheetLight se ki pi deyò, konsantre li nan .NET Framework fè deplwaman ant-platfòm pa konfyans. Nenpòt nan bibliyotèk sa yo kouri nan Blazor WebAssembly (motè a rendering se trè pwa), men Blazor nan bò sèvè travay byen ak tout nan yo. Kliyan : Tout bibliyotèk ki objektif oswa .NET 6+ travay nan minimòm Docker containers ( ). Pa gen depans nan òdinatè natif natal yo nesesè, diferan de bibliyotèk PDF, bibliyotèk Excel se pwòp kòd jere. Docker consideration Sèvi ak .NET Standard 2.0 nan mcr.microsoft.com/dotnet/runtime: 8.0 Licensing & pri: Ki sa ki pral reyèlman koute ekip ou? Licensing is where Excel libraries diverge dramatically. Let's break down the real costs. Open-Source Options Library License Commercial Use Gotchas ClosedXML MIT ✅ Free No commercial support; community-only fixes NPOI Apache 2.0 ✅ Free Must include license notice; no commercial support OpenXML SDK MIT ✅ Free Microsoft-maintained, but no dedicated Excel support ExcelDataReader MIT ✅ Free Read-only; you'll need another library for writes SpreadsheetLight MIT ✅ Free Appears unmaintained; risk of unpatched bugs KòmanseXML MIT Gratis nan Pa gen sipò komèsyal; fikse sèlman nan kominote Pandan Apache 2.0 ✅ Free Pa gen ladan lisans anons; pa gen sipò komèsyal OpenXML SDK nan MIT Gratis nan Microsoft manyen, men pa sipò dedye pou Excel ExcelDataReader MIT Gratis nan Read-only; ou pral bezwen yon lòt bibliyotèk pou ekri Pwodwi pou nan Gratis nan Appears unmaintained; risk of unpatched bugs Bibliyotèk "gratis" pote koute kache: pa gen okenn sipò ki sipòte pa SLA a, pa gen okenn tan garanti fikse, ak tan enjenyè ekip ou pase ranfòse pwoblèm ke yon founisè komèsyal ta ka sove. Pou pwojè amizman ak prototip, sa yo koute akseptab. Pou sistèm pwodiksyon antrepriz, faktori nan kouran èdtan ekip ou a kont yon frè lisans komèsyal. and tou de pèmèt itilizasyon komèsyal san limit, diferans la se nan sa ki ofri kontra sa yon vann garanti. Sèvi ak lisans Apache 2.0 lisans kominote Komèsyal opsyon konpare Library Entry Price Per-Dev Pricing Free Tier OEM/SaaS Extra Support Included IronXL $749/yr (Lite) $749–$2,999/yr 30-day trial Yes (add-on) ✅ 24/5 engineering EPPlus $299/yr (base) $299–$599/yr v4.5.3 (outdated) Yes (add-on) ✅ Email Aspose.Cells $1,199/yr $1,199–$11,198/yr Eval (watermark) Yes (expensive) ✅ Priority Syncfusion $0–$995/yr Per-suite Community License* Included in suite ✅ (paid tiers) GemBox ~$890 (one-time) Per-developer 150 rows free One-time ✅ 12 months Spire.XLS ~$999/dev Per-developer 200 rows/5 sheets Add-on ✅ Email SpreadsheetGear ~$975/dev Per-developer None Contact sales ✅ Email Règleman $749 / ane (Lèt) $ 749–$ 2 999 / ane 30 jou pwosesis Li nan (add-on) ✅ 24 / 5 enjenyè Pwodwi $ 299 / ane (baz) $ 299 – $ 599 / ane v4.5.3 (etapye ki oblije) Li nan (add-on) E-mail nan Pwodwi pou Telefòn $ 1,199 / ane $ 1,199– $ 11,198 / ane Eval (marker dlo) nan Yes (expensive) Priorite nan Syncfusion nan $0–$995 / ane Pwodwi pou Lisans kominote * Enklizyon nan Suite ✅ (pwodwi pou peye) Pwodwi pou ~$890 (yon sèl fwa) Devlopè 150 ranje gratis Yon fwa ✅ 12 months Pwodwi pou Telefòn ~999 $ / dev Devlopè 200 ranje / 5 fèy Add-on nan E-mail nan Pwodwi pou ~$ 975 / dev Devlopè Pa gen Kontakte Vann an E-mail nan Syncfusion Pwoteksyon Lisans: gratis pou konpayi ak < $ 1M revni bruto chak ane ak ≤ 5 devlopè. merite yon note. EPPlus te MIT-license nan vèsyon 4.5.3 (2018). Vèsyon 5 chanje nan Polyform Noncommercial, ak vèsyon pi bonè mande pou yon lisans komèsyal pou nenpòt itilizasyon komèsyal. Anpil pwojè legacy toujou referans 4.5.3, si sa se ou, konnen ke ou kouri sou yon vèsyon ki pa manyen ak bugs san patch. Migre nan EPPlus 7+ mande pou achte yon lisans; migre nan ClosedXML oswa IronXL se yon chemen alternativ. The EPPlus licensing story IronXL nan varyete soti nan devlopè endividyèl ($749/yr Lite) nan ekip ak antrepriz. Iron Suite - tout 10 Iron Software pwodwi bundled - ofri ekonomi enpòtan si ou tou bezwen PDF, OCR, oswa kapasite kòd bar. Chak lisans gen ladan yon 30 jou lajan-retou garanti ak sipò dirèkteman nan enjenyè. licensing tiers Kompatibilite .NET: soti nan Framework nan .NET 10 Ekosistèm la .NET te fragmente atravè vèsyon, epi pa tout bibliote yo te kenbe ritm la. Library .NET Framework 4.x .NET Core 3.1 .NET 6 .NET 8 (LTS) .NET 9 .NET 10 .NET Standard 2.0 IronXL ✅ ✅ ✅ ✅ ✅ ✅ ✅ EPPlus ✅ ✅ ✅ ✅ ✅ ✅ ✅ ClosedXML ✅ ✅ ✅ ✅ ✅ ✅ ✅ NPOI ✅ ✅ ✅ ✅ ✅ ✅ ✅ Aspose.Cells ✅ ✅ ✅ ✅ ✅ ✅ ✅ Syncfusion ✅ ✅ ✅ ✅ ✅ ✅ ✅ GemBox ✅ ✅ ✅ ✅ ✅ ✅ ✅ OpenXML SDK ✅ ✅ ✅ ✅ ✅ ✅ ✅ ExcelDataReader ✅ ✅ ✅ ✅ ✅ ✅ ✅ Spire.XLS ✅ ✅ ✅ ✅ ✅ ✅ ✅ SpreadsheetLight ✅ ⚠️ ⚠️ ⚠️ ❌ ❌ ❌ SpreadsheetGear ✅ ✅ ✅ ✅ ✅ ✅ ✅ Règleman ✅ ✅ ✅ ✅ ✅ ✅ ✅ Pwodwi ✅ ✅ ✅ ✅ ✅ ✅ ✅ KòmanseXML ✅ ✅ ✅ ✅ ✅ ✅ ✅ Pandan ✅ ✅ ✅ ✅ ✅ ✅ ✅ Pwodwi pou Telefòn ✅ ✅ ✅ ✅ ✅ ✅ ✅ Syncfusion nan ✅ ✅ ✅ ✅ ✅ ✅ ✅ Pwodwi pou ✅ ✅ ✅ ✅ ✅ ✅ ✅ OpenXML SDK nan ✅ ✅ ✅ ✅ ✅ ✅ ✅ ExcelDataReader ✅ ✅ ✅ ✅ ✅ ✅ ✅ Pwodwi pou Telefòn ✅ ✅ ✅ ✅ ✅ ✅ ✅ Pwodwi pou ✅ ️ ️ ️ ❌ ❌ ❌ Pwodwi pou ✅ ✅ ✅ ✅ ✅ ✅ ✅ SpreadsheetLight is the only library with meaningful compatibility concerns. Every other library targets .NET Standard 2.0 (which covers .NET Framework 4.6.1+ and all .NET Core/.NET 5+ versions) or provides multi-targeted packages. Tout 11 bibliyotèk aktyèlman manyen sipòte li plen. For new projects in 2026, target . .NET 8 (LTS) nan .NET 8 (LTS) nan IronXL anbake mete ajou chak mwa. EPPlus, Aspose.Cells, ak Syncfusion rale chak semèn. ClosedXML ak NPOI gen rale, men souvan kominote-direksyon rele. SpreadsheetLight pa gen yon ajou vle di nan ane yo, yon flag rouge pou adopte long tèm. Release cadence as a longevity signal: Migre soti nan Excel Interop - Pousantaj la komen kòmanse Yon anpil ekip rive nan konparezon sa a paske yo migre soti nan Microsoft.Office.Interop.Excel. Si sa a se ou, isit la se playbook a rapid. Interop mande pou Office enstale sou chak machin ki kouri kòd ou, ki gen ladan serveurs. Sa a te tolere sou yon sèl Windows sèvè, men li ranpli moman sa a ou containerize, escale orizontalman, oswa deplase nan Linux. Modèl migrasyon an se senp, sepandan ki library ou chwazi: // Step 1: Remove COM references // Delete: Microsoft.Office.Interop.Excel references from your .csproj // Step 2: Install replacement via NuGet // PM> Install-Package IronXL.Excel (or EPPlus, ClosedXML, etc.) // Step 3: Replace Interop patterns // Interop: xlApp.Workbooks.Add() → IronXL: WorkBook.Create() // Interop: ws.Cells[1,1] = value → IronXL: ws["A1"].Value = value // Interop: wb.SaveAs(path) → IronXL: wb.SaveAs(path) // Step 4: Remove COM cleanup code // Delete: Marshal.ReleaseComObject() calls — no longer needed Pifò genyen se pa sèlman deplwaman ant-platfòm, li elimine kwasans nan COM netwaye. Pa gen plis pwosesis oryante EXCEL.EXE, pa gen plis Marshal.ReleaseComObject() apèl, pa gen plis lekòl memwa soti nan referans COM ki pa te rale. Chak bibliyotèk nan konpare sa a jere resous li yo atravè modèl estanda .NET IDisposable. Ki C# Excel Bibliyotèk se bon pou pwojè ou? Apre tès tout 12 bibliyotèk, isit la se gid onèt nou an òganize pa senaryo. Nou pa pral figi IronXL se chwa a pi bon pou chak situasyon, li pa. Pi bon pou pwojè budjè-conscious se konpetitè a klè pou ekip ki bezwen kapasite lèt / ekri konplè sou yon budgèt nòt. MIT lisans, devlopman aktif, API entelijan. Komès: pa gen okenn grafik, ak pèfòmans degrade pi wo a 50K ranje. se runner-up, espesyalman si ou bezwen sipò XLS legacy. ClosedXML NPOI Pi bon pou aplikasyon enterprise ou , depann sou bezwen ou yo. IronXL ofri API a pi san danje ak pwen pri ki ba lè grafik ak pivot yo pa nesesè, li ekselan nan travay pipeline done, rapò jenerasyon, ak konvèsyon cross-format. ansanm ak IronPDF ak IronOCR pou transformasyon dijital yo. Aspose.Cells se chwa a dwat lè ou bezwen chak karakteristik Excel anba solèy la ak budgèt se pa restriksyon an. IronXL Aspose.Cells RuralCo entegre nan IronXL Pi bon pou segondè pèfòmans / Big Datasets te pèfòmans etonan nan benchmarks nou yo, konsistentman tèt 3 nan chak operasyon, ak yon gwo 2.9ms pou jenerasyon rapò finansye. Li se ekri-only ak pwogrè-only, men si sa koresponn ak ka itilize ou a, pa gen anyen plis vini nan zèb. Nan mitan livrezon plen karakteristik, ak konsistansman mete nan nivo ki pi wo a. Pou lis-sèlman pèfòmans segondè konsomasyon, ak streaming li yo IDataReader entèfas se san parèt. SpreadCheetah Aspose.Cells EPPlus ExcelDataReader Pi bon pou senaryo lis sèlman Li se lisans MIT, limyè, vit, ak entegre natirèlman ak System.Data.DataTable. Si ou jis bezwen enprime done tablo, ajoute yon lis / ekri library plen se pa nesesè. ExcelDataReader Pi bon pou maksimòm kouvri karakteristik ou . Tou de sipòte grafik, tab pivot, sparklines, fòma kondisyon, validasyon done, VBA, ak PDF ekspòte. Gratis Lisensi Kominote nan Syncfusion pèmèt ti ekip aksè a karakteristik antrepriz nan gratis, tcheke si ou kwalifye. Aspose.Cells Syncfusion XlsIO Pi bon pou eksperyans devlopè ou ofri API yo ki pi enteresan ak pi piti boilerplate. Tou de pèmèt ou ale soti nan Install-Package nan yon dosye Excel travay nan anba 5 liy kòd. IronXL ajoute sipò cross-format (XLS + XLSX + CSV + JSON) ak sipò pwofesyonèl; ClosedXML ajoute MIT lisans ak yon kominote pi gwo. IronXL ClosedXML Lekti dosye Excel: dezyèm mwatye a nan ekivalan an Pifò evalyasyon bibliyotèk konsantre sou Excel dosye, men anpil aplikasyon pwodiksyon pase plis tan lekti. Isit la se ki jan eksperyans la lekti konpare nan kat bibliyotèk popilè, tout fè travay la menm: chaje yon dosye Excel egziste, itere nan ranje, ak ekstrè done enprime. ekri // ExcelDataReader — streaming, read-only, lowest overhead using var stream = File.Open("report.xlsx", FileMode.Open, FileAccess.Read); using var reader = ExcelReaderFactory.CreateReader(stream); while (reader.Read()) { string product = reader.GetString(0); double revenue = reader.GetDouble(1); } // IronXL — concise cell-addressing syntax WorkBook wb = WorkBook.Load("report.xlsx"); WorkSheet ws = wb.DefaultWorkSheet; foreach (var row in ws.Rows.Skip(1)) // skip header { string product = row.Columns[0].StringValue; double revenue = row.Columns[1].DoubleValue; } // ClosedXML — similar pattern, IXLRow interface using var wb = new XLWorkbook("report.xlsx"); var ws = wb.Worksheet(1); foreach (var row in ws.RowsUsed().Skip(1)) { string product = row.Cell(1).GetString(); double revenue = row.Cell(2).GetDouble(); } // EPPlus — row/column indexed access using var package = new ExcelPackage(new FileInfo("report.xlsx")); var ws = package.Workbook.Worksheets[0]; for (int r = 2; r <= ws.Dimension.End.Row; r++) { string product = ws.Cells[r, 1].GetValue<string>(); double revenue = ws.Cells[r, 2].GetValue<double>(); } ExcelDataReader sèvi ak yon modèl IDataReader devan-se sèlman, ou pa ka ale nan yon selil espesifik oswa ale tounen. Li se opsyon an pi vit ak pi fasil pou lis seri. IronXL ak ClosedXML tou de ofri devan-sou ranje ak aksè selil tip, sepandan sentax yo diferan. EPPlus sèvi ak anrejistreman ranje / kolòn enteryè-indeks, ki se verbose men eksplisit. Tout kat apwòch yo travay, chwa a rive nan si ou bezwen aksè alegan (IronXL, ClosedXML, EPPlus) oswa jis streame seri (ExcelDataReader). Mentions Honourable: Bibliyotèk ki vo wè Tès benchmark nou an te fè soti nan twa bibliyotèk ki pa nan 12yèm jeneral nou an, men vo atansyon. se yon ekri-only, pwogrè-only livrezon ki domine vitès benchmarks nou an, 2.9ms pou jenerasyon rapò finansye, konsistentman tèt 3 nan chak tès. Si ou se kreye estrikti rapò konnen nan gwo volim epi ou pa bezwen li oswa aksè aleksyonèl selil, SpreadCheetah se yon zouti espesyalize vo evalye. MIT-license. Pwodwi pou Pwodwi pou konsantre sou lekti ak ekri ki ba memwa lè l sèvi avèk streaming. Li plas 5yèm nan analiz done lavant (638ms, 17.7MB), konpetitif ak EPPlus ak Aspose.Cells. API li yo pa konvansyonèl (pou itilize gwo nan kalite anonim ak dictionnaires), men li se MIT-license ak aktifman manyen. espesyalman itil pou anviwònman memwa limite tankou Azure fonksyon. MiniExcel MiniExcel se yon limyè XLSX lektè / ekri ki plas 4th nan analiz done lavant (347ms, 13.8MB). Li se mwens byen li te ye, men bay pèfòmans solid pou petèt minimòm li yo. Li vo konsidere si ou vle yon vit, ki ba-dependency opsyon. Fasilite Fasilite Common Gotchas: Pitfalls chak devlopè chita Apre travay ak tout 12 bibliyotèk (ak twa kontantè bonis), nou te kompile pwoblèm yo ki trip nan devlopè yo ki pi souvan. Sa yo pa bugs bibliyotèk, yo se modèl ki emerge nan tout ekosistèm la. Kòmanse nan .NET Core ExcelDataReader, NPOI, ak plizyè lòt bibliyotèk mande pou ou enskri paj kodaj founisè anvan li XLS (binè) dosye sou .NET Core: // Add this ONCE at application startup — before any Excel operations System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance); Pa liy sa a, ou pral jwenn yon NotSupportedException sou kodaj 1252. Li sèlman afekte XLS (pa XLSX), sèlman sou .NET Core/.NET 5+, ak mesaj erè a pa parèt klè nan solisyon an. Nou te wè ekip yo pèdi èdtan debugging sa a. Date Handling atravè Bibliyotèk Excel sove dat kòm nimewo pwensipal (jou depi janvye 1, 1900). Chak library konvèti sa yo nan DateTime yon ti kras diferan, ak kantite ka alantou zòn tan, , ak dat null pral kache ou si ou pa atansyon. Rekòmandasyon nou an: Toujou valide dat round-trips ( ekri → sove → reload → li) ak library espesifik ou anvan konfyans date manipilasyon nan pwodiksyon an. 1900 pwensipal ane bug Memory lekòl soti nan Undisposed Workbooks Pifò bibliyotèk aplike IDisposable, ClosedXML, EPPlus, SpreadsheetLight, ak OpenXML SDK nan mitan yo. Fake lè l sèvi avèk deklarasyon ka lakòz lekòl memwa ki sèlman sifas anba chaj. IronXL, NPOI, ak Aspose.Cells sove netwaye diferan (finalizers oswa eksplisit Close() metòd). Modèl ki pi an sekirite nan tout bibliyotèk: // Always wrap in using — even if the library doesn't strictly require it using var wb = /* load or create workbook */; // ... work with workbook ... // Disposal happens automatically at scope exit Kontekst kondisyon pou lisans EPPlus EPPlus 5+ pral lanse yon LicenseException sou premye apèl API si ou pa te mete konteks la lisans. Sa a pran tout moun migre soti nan EPPlus 4.x: // Required before ANY EPPlus operations in v5+ ExcelPackage.License.SetNonCommercialOrganization("Org Name"); // or: ExcelPackage.License.SetLicenseKey("your-key"); Big dosye OOM sou 32-bit pwosesis Si aplikasyon ou kouri kòm yon pwosesis 32-bit (kontrèman IntPtr.Size == 4), bibliothè ki baze sou DOM ap jwenn OutOfMemoryException anpil pi bonè, souvan sou 20,000-30,000 ranje depann sou kantite kolòn. Sa a silan afekte aplikasyon ki kouri anba IIS ak "Enable 32-bit Applications" mete nan verite, ki se default la sou anpil sèvè legacy. Fix la: tou chanje nan yon pwosesis 64-bit oswa sèvi ak yon bibliyotèk streaming tankou SpreadCheetah oswa ExcelDataReader. Ki sa ki fè apre Ekosistèm nan livrezon .NET Excel se sante, konpetitif, ak aktyèlman evolye. Pa gen yon sèl "pi bon" livrezon, sèlman pi bon livrezon pou pwojè ou, budgèt ou, ak objektif deplwaman ou. nan Rekòmandasyon nou an: chwazi 2-3 kandida soti nan konparezon sa a, enstale yo atravè NuGet, epi bati yon prototip ti kont done reyèl ou yo. Egzanp yo nan kòd la pi wo a ba ou yon travay kòmanse konsistan pou evalye ergonomik API tèt-a-kòz tèt-a-kòz. Atann sou ki jan chak bibliyotèk trete ka kantite, selil konbine, fòmil, dosye gwo, kondisyon fòma espesifik, paske sa a se kote diferans yo reyèl rive. nan Pou IronXL espesyalman, nan nan E bay echantiyon travay ki kouvri senaryo yo ki pi komen. A pèmèt ou tès nan pwodiksyon san yo pa watermarks. Kòmanse dokiman Kòd pou egzanp Tutorièl Gratis 30 jou pwosesis Nou pral mete ajou konparezon sa a lè livrezon lanse nouvo vèsyon - ekosistèm la .NET ap deplase byen vit, epi nou vle sa a rete resous la nou te vle nou te gen. Pou ekip ki konsidere se fason ki pi bon yo evalye si li koresponn ak travay reyèl ou. Teste li ak tablo tab, fòmil, fòma, ak anviwònman deplwaman pwòp ou yo wè ki jan li pèfòmans nan pratik la anvan avanse ak yon lisans pwodiksyon. IronXL, yon tès gratis 30 jou Frequently Asked Questions Sa yo se kesyon yo nou wè pi souvan soti nan devlopè evalye C# Excel library. Chak repons ki baze sou tès nou yo ak eksperyans pwodiksyon. How do I create an Excel file in C# without Microsoft Office installed? Tout bibliyotèk nan konparezon sa a eksepte Microsoft.Office.Interop.Excel (ki nou delibere exclude) travay san Office. Enstale nenpòt nan yo atravè NuGet — nan nan , elatriye - epi ou ka kreye, li, ak ekri dosye XLSX sou òdinatè ki pa gen okenn enstalasyon nan Office, ki gen ladan Linux sèvè ak Docker kontni. Pake enstalasyon IronXL.Excel Instalasyon anbalaj EPPlus Instalasyon-Pakèt ClosedXML Is EPPlus still free for commercial use? Non. EPPlus vèsyon 5 (released 2020) ak pita mande pou yon lisans komèsyal pou nenpòt itilizasyon komèsyal. Vèsyon an dènye gratis se 4.5.3, ki se san yo pa manyen ak manke ane de koreksyon bug ak patch sekirite. Si ou bezwen yon altènatif gratis ak kapasite menm jan an, ClosedXML (lisans MIT) se wout la migrasyon ki pi dirèkteman. What's the fastest .NET Excel library for large datasets? Nan benchmarks ekri nou an, GemBox.Spreadsheet ak SpreadsheetGear konsistansman mennen pou 100K + ranje ekri. Pou enskripsyon lis sèlman nan dosye gwo, ExcelDataReader a Streaming IDataReader enteryè se opsyon an ki pi efikas nan memwa. OpenXML SDK ofri plafon memwa ki pi ba nan ekri SAX li yo, men mande pou anpil plis kòd. Which libraries support legacy XLS (97-2003) format? IronXL, NPOI, Aspose.Cells, GemBox.Spreadsheet, ExcelDataReader (lwa sèlman), Spire.XLS, ak SpreadsheetGear tout sipòte fòma binè XLS. Nan mitan opsyon gratis yo, NPOI se library a sèlman ki ka tou de li ak ekri dosye XLS. Can these libraries run in Docker containers on Linux? Si – tout livrezon aktyèlman mantalye (11 nan 12 a, san yo pa SpreadsheetLight) kouri nan estanda .NET 8 Docker kontni sou Linux san yo pa depans natirèl. Dapre livrezon rendering PDF ki pafwa mande pou fon sistèm oswa motè navigatè, livrezon Excel se koòd manyen pur. Yon minimòm mcr.microsoft.com/dotnet/runtime:8.0 baz imaj se ase. What's your experience? Which C# Excel library are you using in production, and what made you choose it? Drop your thoughts in the comments — we read every one.