在C#中有一些优秀的开源Excel处理类库,以下是其中一些热门的类库:
EPPlus:
功能: EPPlus是一个用于处理Excel文件的功能强大且易于使用的开源库。它支持Excel 2007及以上版本(.xlsx格式)。
适用范围: 适用于创建、读取和编辑Excel文件,支持图表、样式、公式等高级功能。
下载地址: EPPlus GitHub
实例代码:
using OfficeOpenXml; // 数据导出到Excel using (var package = new ExcelPackage()) { var worksheet = package.Workbook.Worksheets.Add("Sheet1"); worksheet.Cells["A1"].Value = "Hello"; worksheet.Cells["A2"].Value = "World"; package.SaveAs(new FileInfo("output.xlsx")); } // 从Excel导入数据 using (var package = new ExcelPackage(new FileInfo("input.xlsx"))) { var worksheet = package.Workbook.Worksheets[0]; var value1 = worksheet.Cells["A1"].Value.ToString(); var value2 = worksheet.Cells["A2"].Value.ToString(); Console.WriteLine(value1 + " " + value2); }
NPOI:
功能: NPOI是一个.NET实现的开源类库,支持Excel、Word和PowerPoint文件的读写。
适用范围: 适用于处理多种Office文档格式,包括Excel。
下载地址: NPOI GitHub
实例代码:
using NPOI.SS.UserModel; using NPOI.XSSF.UserModel; using NPOI.HSSF.UserModel; // 数据导出到Excel IWorkbook workbook = new XSSFWorkbook(); // 或者 new HSSFWorkbook(),取决于Excel版本 ISheet sheet = workbook.CreateSheet("Sheet1"); sheet.CreateRow(0).CreateCell(0).SetCellValue("Hello"); sheet.CreateRow(1).CreateCell(0).SetCellValue("World"); using (var fs = new FileStream("output.xlsx", FileMode.Create, FileAccess.Write)) { workbook.Write(fs); } // 从Excel导入数据 using (var fs = new FileStream("input.xlsx", FileMode.Open, FileAccess.Read)) { IWorkbook workbook = WorkbookFactory.Create(fs); ISheet sheet = workbook.GetSheetAt(0); var value1 = sheet.GetRow(0).GetCell(0).ToString(); var value2 = sheet.GetRow(1).GetCell(0).ToString(); Console.WriteLine(value1 + " " + value2); }
ClosedXML:
功能: ClosedXML是一个简单的开源库,用于在.NET应用程序中创建和处理Excel文件。
适用范围: 适用于创建、读取和编辑Excel文件,提供简洁的API。
下载地址: ClosedXML GitHub
实例代码:
using ClosedXML.Excel; // 数据导出到Excel using (var workbook = new XLWorkbook()) { var worksheet = workbook.Worksheets.Add("Sheet1"); worksheet.Cell("A1").Value = "Hello"; worksheet.Cell("A2").Value = "World"; workbook.SaveAs("output.xlsx"); } // 从Excel导入数据 using (var workbook = new XLWorkbook("input.xlsx")) { var worksheet = workbook.Worksheet(1); var value1 = worksheet.Cell("A1").Value.ToString(); var value2 = worksheet.Cell("A2").Value.ToString(); Console.WriteLine(value1 + " " + value2); }
这些类库都提供了丰富的功能,你可以根据项目的需求选择合适的类库。以上示例代码中的注释是为了说明基本功能,实际应用中你可能需要根据业务需求进行更复杂的操作。
原文地址:https://www.toutiao.com/article/7304817548603064886/