Excel数据处理利器:C#中三款热门开源类库推荐及实例代码解析

作者:微信公众号:【架构师老卢】
11-24 8:25
288

概述:Excel数据处理利器:C#中三款热门开源类库推荐及实例代码解析,这些类库都提供了丰富的功能,你可以根据项目的需求选择合适的类库。以上示例代码中的注释是为了说明基本功能,实际应用中你可能需要根据业务需求进行更复杂的操作。

在C#中有一些优秀的开源Excel处理类库,以下是其中一些热门的类库:

  1. 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);
      }
      
  2. 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);
      }
      
  3. 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);
      }
      

这些类库都提供了丰富的功能,你可以根据项目的需求选择合适的类库。以上示例代码中的注释是为了说明基本功能,实际应用中你可能需要根据业务需求进行更复杂的操作。

阅读排行