自学内容网 自学内容网

【C#生态园】从数据导入到Excel操作:探究C#开发利器

C#数据导入与Excel操作:六款优秀库全面对比

前言

在C#开发中,处理和操作Excel文件以及其他数据导入库是一个常见的需求。本文将介绍几个用于C#的数据导入和Excel文件操作的优秀库,它们可以帮助开发人员更高效地进行数据处理和文件操作。

欢迎订阅专栏:C#生态园

1. CsvHelper:一个用于C#的数据导入库

1.1 简介

CsvHelper 是一个用于读写 CSV 文件的 C# 库,它提供了简单易用的 API,可以帮助开发者快速地实现数据导入和导出功能。

1.1.1 核心功能

CsvHelper 提供了从 CSV 文件中读取数据,并将数据映射到 .NET 对象的功能;同时也支持将 .NET 对象写入到 CSV 文件中。

1.1.2 使用场景

CsvHelper 可以广泛应用于需要处理 CSV 格式数据的场景,比如数据导入、导出、数据清洗等。

1.2 安装与配置

1.2.1 安装指南

通过 NuGet 包管理器可以方便地安装 CsvHelper。在 Visual Studio 中打开 NuGet 包管理器控制台,并执行以下命令:

Install-Package CsvHelper
1.2.2 基本设置

在使用 CsvHelper 之前,需要引入 CsvHelper 的命名空间:

using CsvHelper;

1.3 API 概览

1.3.1 数据导入

使用 CsvHelper 导入 CSV 数据非常简单,首先需要创建一个读取器对象,然后使用读取器来读取数据。

下面是一个基本的示例代码:

using (var reader = new StreamReader("path/to/your/csv/file.csv"))
using (var csv = new CsvReader(reader, CultureInfo.InvariantCulture))
{
    var records = csv.GetRecords<YourClass>().ToList();
}

以上代码中,YourClass 是你自定义的类,用来存储 CSV 中的数据行。

更多关于 CsvHelper 的详细信息,请参考官方文档:CsvHelper 官方文档

2. ExcelDataReader:一个用于C#的数据导入库

2.1 简介

ExcelDataReader 是一个用于读取 Excel 文件的 C# 库,它提供了简单易用的 API 接口,可以帮助开发者快速地将 Excel 中的数据导入到 C# 应用程序中进行处理。

2.1.1 核心功能
  • 读取 Excel 文件中的数据
  • 提供对 Excel 数据的灵活访问和操作
  • 支持多种格式的 Excel 文件,如 .xls 和 .xlsx
2.1.2 使用场景

ExcelDataReader 适用于需要从 Excel 文件中读取数据并进行处理的各种场景,比如数据导入、报表生成等。

2.2 安装与配置

使用 NuGet 包管理器可以方便地安装 ExcelDataReader。

2.2.1 安装指南

通过 NuGet 包管理器控制台或 Visual Studio 的 NuGet 包管理界面搜索并安装 ExcelDataReader:

Install-Package ExcelDataReader
2.2.2 基本设置

安装完成后,需要引入相应的命名空间:

using Excel;

2.3 API 概览

ExcelDataReader 提供了丰富的 API 接口,下面将介绍如何使用 ExcelDataReader 进行数据导入。

2.3.1 数据导入

首先,需要使用 ExcelDataReader 打开 Excel 文件,并获取工作表数据:

using (var stream = File.Open(filePath, FileMode.Open, FileAccess.Read))
{
    using (var reader = ExcelReaderFactory.CreateReader(stream))
    {
        var result = reader.AsDataSet(new ExcelDataSetConfiguration()
        {
            ConfigureDataTable = (_) => new ExcelDataTableConfiguration() { UseHeaderRow = true }
        });

        // 处理获取的数据
        foreach (DataRow row in result.Tables[0].Rows)
        {
            // 遍历每一行数据
            foreach (var cell in row.ItemArray)
            {
                // 处理每个单元格数据
            }
        }
    }
}

在上述代码中,ExcelReaderFactory 提供了创建 IExcelDataReader 实例的方法,然后可以使用该实例来读取 Excel 中的数据。在 AsDataSet 方法中,可以对数据进行配置,比如是否使用标题行等。

更多详细信息和 API 可参考 ExcelDataReader GitHub 页面

3. EPPlus:一个用于操作Excel文件的C#库

EPPlus 是一个用于在C#中操作Excel文件的开源库。它提供了丰富的功能来创建、读取和编辑Excel文件,使得处理Excel文件变得更加简单和高效。

3.1 简介

3.1.1 核心功能

EPPlus 提供了丰富的功能,包括但不限于以下几点:

  • 创建和编辑Excel文件
  • 读取和写入数据
  • 设置单元格格式
  • 支持图表和公式
  • 导出数据到Excel文件
3.1.2 使用场景

EPPlus 可以广泛应用于企业内部系统、报表生成、数据导出等各种场景。

3.2 安装与配置

3.2.1 安装指南

使用NuGet包管理器可以很方便地安装EPPlus。在Visual Studio中打开NuGet包管理器控制台,并执行以下命令:

Install-Package EPPlus
3.2.2 基本设置

安装完成后,需要在项目中引用EPPlus的命名空间:

using OfficeOpenXml;

3.3 API 概览

3.3.1 Excel文件创建

使用EPPlus创建Excel文件非常简单。下面是一个简单的示例代码,演示如何创建一个新的工作簿和工作表,并在其中写入数据:

// 创建新的Excel包
using (var package = new ExcelPackage())
{
    // 添加一个工作表
    var worksheet = package.Workbook.Worksheets.Add("SampleSheet");

    // 在工作表中写入数据
    worksheet.Cells["A1"].Value = "Hello";
    worksheet.Cells["A2"].Value = "World";

    // 保存工作簿
    package.SaveAs(new FileInfo("sample.xlsx"));
}

官网链接:EPPlus - Create Excel File

3.3.2 数据写入

EPPlus允许我们灵活地向Excel文件中写入数据。下面是一个简单的示例代码,演示如何向现有的Excel文件中写入数据:

// 打开现有的Excel文件
using (var package = new ExcelPackage(new FileInfo("sample.xlsx")))
{
    // 获取第一个工作表
    var worksheet = package.Workbook.Worksheets[0];

    // 写入数据
    worksheet.Cells["B1"].Value = "This is";
    worksheet.Cells["B2"].Value = "EPPlus";

    // 保存工作簿
    package.Save();
}

官网链接:EPPlus - Write Data to Excel

通过EPPlus,我们可以轻松地进行Excel文件的创建、读取和编辑,为C#开发者处理Excel文件提供了强大的工具支持。

4. ClosedXML:一个用于操作Excel文件的C#库

ClosedXML 是一个用于操作 Excel 文件的 C# 库,它提供了简单易用的 API 来创建、读取和修改 Excel 文件。本文将介绍 ClosedXML 的核心功能、使用场景、安装与配置以及 API 概览。

4.1 简介

4.1.1 核心功能

ClosedXML 提供了丰富的功能,包括创建新的 Excel 文件、读取现有的文件、更新数据、设置格式等。通过 ClosedXML,可以轻松地在 C# 中进行 Excel 文件的操作,无需依赖于 Office Interop 或其他第三方组件。

4.1.2 使用场景

ClosedXML 可以应用于需要动态生成 Excel 报表、导出数据到 Excel 文件、对已有的文件进行修改等场景。

4.2 安装与配置

4.2.1 安装指南

要使用 ClosedXML,首先需要在项目中安装 ClosedXML NuGet 包。可以通过 NuGet 包管理器或者 Package Manager Console 进行安装。

Install-Package ClosedXML
4.2.2 基本设置

安装完 ClosedXML 后,可以在代码中引入 ClosedXML 的命名空间开始使用。

using ClosedXML.Excel;

4.3 API 概览

4.3.1 Excel文件创建

下面是一个简单的示例,演示如何使用 ClosedXML 创建一个新的 Excel 文件并写入数据。

// 创建一个新的工作簿
var workbook = new XLWorkbook();

// 添加一个工作表
var worksheet = workbook.Worksheets.Add("Sample Sheet");

// 在单元格 A1 写入数据
worksheet.Cell("A1").Value = "Hello, World!";

// 保存工作簿
workbook.SaveAs("SampleWorkbook.xlsx");

更多关于创建 Excel 文件的信息,请参考 ClosedXML - Creating a Workbook

4.3.2 数据更新

ClosedXML 也提供了丰富的 API 来更新 Excel 文件中的数据。以下是一个简单的示例,演示如何使用 ClosedXML 更新现有的 Excel 文件中的数据。

// 打开现有的工作簿
var workbook = new XLWorkbook("SampleWorkbook.xlsx");

// 获取第一个工作表
var worksheet = workbook.Worksheet(1);

// 在单元格 B1 写入新的数据
worksheet.Cell("B1").Value = "Updated Value";

// 保存工作簿
workbook.Save();

更多关于数据更新的信息,请参考 ClosedXML - Modifying an Existing Workbook

通过以上示例,我们简要介绍了 ClosedXML 的核心功能、安装与配置以及部分 API 概览。希望能帮助你快速上手使用 ClosedXML 进行 Excel 文件的操作。

5. NPOI:一个用于操作Office文档的C#库

NPOI是一个用于操作Microsoft Office文档的C#库,它允许用户读取、写入和操作Word、Excel和PowerPoint等文件。在本节中,我们将介绍NPOI库的简介、安装与配置以及API概览,并通过具体的C#实例代码来演示其核心功能和使用场景。

5.1 简介

5.1.1 核心功能

NPOI库主要提供了对Microsoft Office文档的读取和写入功能,包括对Word、Excel和PowerPoint文件的操作。用户可以通过NPOI库实现对这些文档的创建、编辑和格式化等操作。

5.1.2 使用场景

NPOI库适用于需要对Office文档进行批量处理或自动化操作的场景,比如生成报表、导出数据到Excel、解析Word文档内容等。

5.2 安装与配置

5.2.1 安装指南

用户可以通过NuGet包管理器来安装NPOI库,或者从官方网站下载NPOI的DLL文件手动引用到C#项目中。

在Visual Studio中,可以通过NuGet包管理器搜索并安装NPOI库:

Install-Package DotNetCore.NPOI
5.2.2 基本设置

安装完成后,需要在C#项目中引用NPOI的命名空间:

using NPOI.SS.UserModel; // Excel相关命名空间
using NPOI.HSSF.UserModel; // Excel 2003相关命名空间
using NPOI.XSSF.UserModel; // Excel 2007+相关命名空间
using NPOI.HPSF; // 文档属性相关命名空间
using NPOI.HWPF.UserModel; // Word 2003相关命名空间
using NPOI.XWPF.UserModel; // Word 2007+相关命名空间

5.3 API 概览

5.3.1 Office文档读取

NPOI库提供了丰富的API用于读取Office文档,下面是一个简单的示例,演示如何使用NPOI库读取Excel文件中的数据:

// 创建工作簿对象
IWorkbook workbook;
using (FileStream file = new FileStream("workbook.xlsx", FileMode.Open, FileAccess.Read))
{
    workbook = new XSSFWorkbook(file);
}

// 获取第一个工作表
ISheet sheet = workbook.GetSheetAt(0);

// 读取数据
for (int i = 0; i <= sheet.LastRowNum; i++)
{
    IRow row = sheet.GetRow(i);
    for (int j = 0; j < row.LastCellNum; j++)
    {
        Console.Write(row.GetCell(j) + "\t");
    }
    Console.WriteLine();
}

官方链接:NPOI - Office文档读取

5.3.2 数据处理

除了读取,NPOI还提供了丰富的API用于处理Office文档中的数据,比如插入数据、修改样式、创建图表等操作。以下是一个简单的示例,演示如何使用NPOI库创建并写入Excel文件:

// 创建工作簿对象
IWorkbook workbook = new XSSFWorkbook();
ISheet sheet = workbook.CreateSheet("Sheet1");

// 创建行和单元格
IRow row = sheet.CreateRow(0);
row.CreateCell(0).SetCellValue("Hello");
row.CreateCell(1).SetCellValue("World");

// 写入到文件
using (FileStream file = new FileStream("output.xlsx", FileMode.Create, FileAccess.Write))
{
    workbook.Write(file);
}

官方链接:NPOI - 数据处理

6. GemBox.Spreadsheet:一个用于生成和处理Excel文件的C#库

GemBox.Spreadsheet 是一个强大的 C# 库,用于生成和处理 Excel 文件。它提供了丰富的 API,可以让开发人员轻松地在其应用程序中集成 Excel 导出和生成功能。下面将介绍 GemBox.Spreadsheet 的简介、安装与配置以及 API 概览。

6.1 简介

6.1.1 核心功能

GemBox.Spreadsheet 提供了丰富的功能,包括但不限于:

  • 创建和编辑 Excel 文件
  • 导入和导出数据
  • 设置单元格样式和格式
  • 支持多种 Excel 文件格式(如XLSX、XLS、CSV)
6.1.2 使用场景

GemBox.Spreadsheet 可应用于各种场景,如:

  • 生成报表
  • 数据导出/导入
  • 与 Excel 相关的业务逻辑处理

6.2 安装与配置

6.2.1 安装指南

通过 NuGet 安装 GemBox.Spreadsheet,可以使用以下命令:

Install-Package GemBox.Spreadsheet
6.2.2 基本设置

GemBox.Spreadsheet 的基本设置包括添加引用和许可证。在使用 GemBox.Spreadsheet 之前,需要在项目中添加对 GemBox.Spreadsheet 的引用,并设置许可证。具体的设置方法可以参考 GemBox.Spreadsheet 官方文档

6.3 API 概览

6.3.1 Excel文件生成

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

// 引用 GemBox.Spreadsheet 命名空间
using GemBox.Spreadsheet;

// 声明工作簿
var workbook = new ExcelFile();

// 添加工作表
var worksheet = workbook.Worksheets.Add("Sheet1");

// 写入数据
worksheet.Cells["A1"].Value = "Hello";
worksheet.Cells["A2"].Value = "World!";

// 保存为 Excel 文件
workbook.Save("Output.xlsx");

以上代码创建了一个包含两行数据的 Excel 文件,并将其保存为 “Output.xlsx”。更多关于 Excel 文件生成的操作可以参考 GemBox.Spreadsheet 官方文档

6.3.2 数据导出

GemBox.Spreadsheet 支持数据导出至 Excel 文件,以下是一个简单的示例代码:

// 引用 GemBox.Spreadsheet 命名空间
using GemBox.Spreadsheet;

// 创建新的 Excel 文件
var workbook = new ExcelFile();
var worksheet = workbook.Worksheets.Add("Sheet1");

// 假设有一个数据源 data,将数据导出至 Excel
for (int row = 0; row < data.Length; row++)
{
    for (int col = 0; col < data[row].Length; col++)
    {
        worksheet.Cells[row, col].Value = data[row][col];
    }
}

// 保存为 Excel 文件
workbook.Save("DataExport.xlsx");

上述代码实现了将数据导出至 Excel 文件的功能。更多关于数据导出的操作可以参考 GemBox.Spreadsheet 官方文档

总结

通过本文的阅读,读者可以深入了解到多个用于C#的数据导入库和Excel文件操作库的特点和用法。无论是进行数据导入还是对Excel文件进行操作,选择合适的库都能极大地提高开发效率和简化开发流程。这些库各具特色,适用于不同的使用场景,开发人员可以根据实际需求进行选择和应用。


原文地址:https://blog.csdn.net/qq_42531954/article/details/142935009

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!