C# 中用于 Excel 数据处理的三款热门开源类库推荐与实例代码解析

2024-12-30 17:47:47   小编

C# 中用于 Excel 数据处理的三款热门开源类库推荐与实例代码解析

在 C# 编程中,处理 Excel 数据是一项常见的任务。为了提高开发效率和代码质量,许多开发者选择使用开源类库。以下为您推荐三款热门的用于 Excel 数据处理的 C# 开源类库,并通过实例代码进行解析。

一、NPOI

NPOI 是一个非常强大且广泛使用的 C# 开源类库,它可以读写 Excel 的各种格式,包括.xls 和.xlsx。

以下是一个简单的示例代码,用于读取 Excel 中的数据:

using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;

class Program
{
    static void Main()
    {
        using (FileStream file = new FileStream("your_file.xlsx", FileMode.Open, FileAccess.Read))
        {
            IWorkbook workbook = new XSSFWorkbook(file);
            ISheet sheet = workbook.GetSheetAt(0);

            for (int row = 0; row <= sheet.LastRowNum; row++)
            {
                IRow currentRow = sheet.GetRow(row);
                if (currentRow!= null)
                {
                    for (int col = 0; col < currentRow.LastCellNum; col++)
                    {
                        ICell cell = currentRow.GetCell(col);
                        if (cell!= null)
                        {
                            Console.Write(cell.ToString() + " ");
                        }
                    }
                    Console.WriteLine();
                }
            }
        }
    }
}

二、EPPlus

EPPlus 也是一个出色的开源类库,支持生成和操作 Excel 文件。

以下是使用 EPPlus 生成 Excel 文件的示例代码:

using OfficeOpenXml;

class Program
{
    static void Main()
    {
        using (ExcelPackage package = new ExcelPackage())
        {
            ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("Sheet1");

            worksheet.Cells[1, 1].Value = "姓名";
            worksheet.Cells[1, 2].Value = "年龄";

            worksheet.Cells[2, 1].Value = "张三";
            worksheet.Cells[2, 2].Value = 25;

            package.SaveAs(new FileInfo("output.xlsx"));
        }
    }
}

三、ClosedXML

ClosedXML 提供了简单直观的 API 来处理 Excel 文档。

例如,读取 Excel 数据的代码如下:

using ClosedXML.Excel;

class Program
{
    static void Main()
    {
        using (var workbook = new XLWorkbook("your_file.xlsx"))
        {
            var worksheet = workbook.Worksheet(1);

            for (int row = 1; row <= worksheet.RowsUsed().Count(); row++)
            {
                for (int col = 1; col <= worksheet.ColumnsUsed().Count(); col++)
                {
                    Console.Write(worksheet.Cell(row, col).Value + " ");
                }
                Console.WriteLine();
            }
        }
    }
}

这三款开源类库各有特点,您可以根据项目的具体需求选择合适的类库来高效地处理 Excel 数据。通过上述实例代码,希望能帮助您快速上手并在实际开发中灵活运用。

TAGS: C# Excel 数据处理 C# 开源类库 Excel 数据处理工具 C# 编程与 Excel

欢迎使用万千站长工具!

Welcome to www.zzTool.com