C#进阶-用于Excel处理的程序集

这篇具有很好参考价值的文章主要介绍了C#进阶-用于Excel处理的程序集。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在.NET开发中,处理Excel文件是一项常见的任务,而有一些优秀的Excel处理包可以帮助开发人员轻松地进行Excel文件的读写、操作和生成。本文介绍了NPOI、EPPlus和Spire.XLS这三个常用的.NET Excel处理包,分别详细介绍了它们的特点、示例代码以及使用方法。通过对这些程序集的比较和示例代码的演示,读者可以更好地理解如何在C#开发中利用这些工具进行Excel文件的读取、写入和操作。这些程序集提供了丰富的功能和灵活的API,能够满足不同场景下对Excel文件处理的需求,有助于提高开发效率和减少工作量。

一、NPOI

NPOI是一个.NET平台上的开源库,用于读取和写入Microsoft Office格式的文件,包括Excel。NPOI提供了一套完整的API,使得开发人员可以方便地对Excel文件进行读写操作,而无需依赖Microsoft Office或其他付费组件。NPOI支持多种Excel格式,包括旧版的xls格式和新版的xlsx格式,同时也支持对Word和PowerPoint等Microsoft Office文件的操作。因其开源免费、功能强大且稳定性高的特点,NPOI被广泛应用于.NET平台的开发项目中。

1、示例代码

① 读取Excel文件

using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
using System;
using System.IO;

class Program
{
    static void Main(string[] args)
    {
        // 读取Excel文件
        using (FileStream fs = new FileStream("example.xlsx", FileMode.Open, FileAccess.Read))
        {
            IWorkbook workbook = new XSSFWorkbook(fs);
            ISheet sheet = workbook.GetSheetAt(0); // 获取第一个工作表

            // 遍历每一行
            for (int rowIdx = 0; rowIdx <= sheet.LastRowNum; rowIdx++)
            {
                IRow row = sheet.GetRow(rowIdx);
                if (row != null)
                {
                    // 遍历每一个单元格
                    for (int cellIdx = 0; cellIdx < row.LastCellNum; cellIdx++)
                    {
                        ICell cell = row.GetCell(cellIdx);
                        if (cell != null)
                        {
                            Console.Write(cell.ToString() + "\t");
                        }
                    }
                    Console.WriteLine();
                }
            }
        }
    }
}

该示例演示了如何使用NPOI库读取Excel文件中的数据。首先,通过FileStream打开Excel文件,然后创建XSSFWorkbook对象表示整个工作簿,通过GetSheetAt(0)获取第一个工作表。接下来,通过遍历每一行和每一个单元格,将单元格中的内容打印出来。


② 写入Excel文件

using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
using System.IO;

class Program
{
    static void Main(string[] args)
    {
        // 创建一个工作簿
        IWorkbook workbook = new XSSFWorkbook();

        // 创建一个工作表
        ISheet sheet = workbook.CreateSheet("Sheet1");

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

        // 保存Excel文件
        using (FileStream fs = new FileStream("example.xlsx", FileMode.Create))
        {
            workbook.Write(fs);
        }
    }
}

该示例展示了如何使用NPOI库创建一个Excel文件并写入数据。首先,创建XSSFWorkbook对象表示整个工作簿,然后通过CreateSheet("Sheet1")创建一个名为"Sheet1"的工作表。接着,创建行和单元格,并通过SetCellValue方法设置单元格的值为"Hello"和"World"。最后,通过FileStream将工作簿写入到文件中。


二、EPPlus

EPPlus是一个.NET库,用于创建、操作和读写Excel 2007/2010/2013/2016文件,基于Open XML标准。下面详细解释示例代码中的读取和写入Excel文件的过程,并提供更多代码示例和详解。

1、示例代码

① 读取Excel文件

using OfficeOpenXml;
using System;
using System.IO;

class Program
{
    static void Main(string[] args)
    {
        FileInfo excelFile = new FileInfo("example.xlsx");
        using (ExcelPackage excelPackage = new ExcelPackage(excelFile))
        {
            ExcelWorksheet worksheet = excelPackage.Workbook.Worksheets[0]; // 获取第一个工作表

            int rowCount = worksheet.Dimension.Rows;
            int colCount = worksheet.Dimension.Columns;

            // 遍历每一行和每一个单元格
            for (int row = 1; row <= rowCount; row++)
            {
                for (int col = 1; col <= colCount; col++)
                {
                    Console.Write(worksheet.Cells[row, col].Value.ToString() + "\t");
                }
                Console.WriteLine();
            }
        }
    }
}

在读取Excel文件的示例代码中,我们首先通过FileInfo类创建了一个表示要读取的Excel文件的实例。然后,我们使用ExcelPackage类的构造函数打开了这个Excel文件,并创建了一个ExcelPackage对象,该对象表示整个Excel文件。接下来,我们通过Workbook属性获取了Excel文件的工作簿(workbook),再使用Worksheets属性获取了第一个工作表(worksheet)。通过Dimension属性,我们获取了工作表的行数和列数。最后,我们使用两层循环遍历了每一行和每一个单元格,并通过Cells属性获取单元格对象,并输出了单元格的值。


② 写入Excel文件

using OfficeOpenXml;
using System;
using System.IO;

class Program
{
    static void Main(string[] args)
    {
        FileInfo excelFile = new FileInfo("example.xlsx");
        using (ExcelPackage excelPackage = new ExcelPackage())
        {
            ExcelWorksheet worksheet = excelPackage.Workbook.Worksheets.Add("Sheet1");

            worksheet.Cells["A1"].Value = "Hello";
            worksheet.Cells["B1"].Value = "World";

            excelPackage.SaveAs(excelFile);
        }
    }
}

在写入Excel文件的示例代码中,我们首先创建了一个FileInfo对象来指定要保存的Excel文件的路径。然后,我们创建了一个空的ExcelPackage对象,表示一个新的Excel文件。通过Workbook属性,我们创建了一个工作簿,并使用Worksheets属性添加了一个名为"Sheet1"的工作表。然后,我们使用Cells属性来设置单元格的值,例如"A1"单元格的值设置为"Hello",“B1"单元格的值设置为"World”。最后,我们调用SaveAs方法将Excel文件保存到指定路径。


三、Spire.XLS

Spire.XLS是一个专业的.NET Excel组件,支持读写、操作和生成Excel文件,提供了丰富的API和功能。与其他Excel组件相比,Spire.XLS具有性能优越、易于使用和丰富的特性等优势。

1、示例代码

① 读取Excel文件

using Spire.Xls;
using System;

class Program
{
    static void Main(string[] args)
    {
        Workbook workbook = new Workbook();
        workbook.LoadFromFile("example.xlsx");

        Worksheet sheet = workbook.Worksheets[0]; // 获取第一个工作表

        int rowCount = sheet.Rows.Length;
        int colCount = sheet.Columns.Length;

        for (int row = 1; row <= rowCount; row++)
        {
            for (int col = 1; col <= colCount; col++)
            {
                Console.Write(sheet[row, col].Text + "\t");
            }
            Console.WriteLine();
        }
    }
}

以上示例代码演示了如何使用Spire.XLS读取Excel文件。首先,我们创建了一个Workbook对象,并通过LoadFromFile方法加载了名为"example.xlsx"的Excel文件。然后,我们获取了第一个工作表,并分别获取了行数和列数。接着,我们通过两层循环遍历每个单元格,并输出其文本值。

② 写入Excel文件

using Spire.Xls;

class Program
{
    static void Main(string[] args)
    {
        Workbook workbook = new Workbook();
        Worksheet sheet = workbook.Worksheets[0];

        sheet.Range["A1"].Text = "Hello";
        sheet.Range["B1"].Text = "World";

        workbook.SaveToFile("example.xlsx", ExcelVersion.Version2013);
    }
}

以上示例代码展示了如何使用Spire.XLS写入Excel文件。首先,我们创建了一个Workbook对象,并获取了第一个工作表。然后,我们分别在"A1"和"B1"单元格中写入了"Hello"和"World"。最后,我们通过SaveToFile方法将工作簿保存为名为"example.xlsx"的Excel文件,指定保存的Excel版本为2013。


四、Excel处理的程序集总结

除了上述提到的包之外,还有其他一些.NET平台上的Excel处理包,如GemBox.Spreadsheet等,它们也提供了丰富的功能来处理Excel文件。这些示例代码展示了如何使用这些常用的.NET Excel处理包来读取和写入Excel文件。希望这可以帮助您更好地理解它们的用法。

下表列出了几种常见的.NET平台上的Excel处理包及其主要特点的对比:

包名称 支持的格式 主要功能 是否开源 许可证
NPOI xls, xlsx 读写Excel文件、操作单元格 Apache License
EPPlus xlsx 读写Excel文件、操作单元格 GNU GPL v2
Spire.XLS xls, xlsx, csv, pdf 读写Excel文件、操作单元格 商业许可证
GemBox.Spreadsheet xls, xlsx, csv, html 读写Excel文件、操作单元格 商业许可证

以上是对NPOI、EPPlus、Spire.XLS和GemBox.Spreadsheet几种常见Excel处理包的简要比较。这些包各有优缺点,开发人员可以根据项目需求和个人偏好选择合适的Excel处理包。文章来源地址https://www.toymoban.com/news/detail-841894.html

到了这里,关于C#进阶-用于Excel处理的程序集的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C#读写导入导出Excel表格模板(NPOI)

    NPOI是指构建在POI 3.x版本之上的一个程序,NPOI可以在没有安装Office的情况下对Word或Excel文档进行读写操作。 NPOI是一个开源的C#读写Excel、WORD等微软OLE2组件文档的项目。 1、您可以完全免费使用该框架 2、包含了大部分EXCEL的特性(单元格样式、数据格式、公式等等) 3、专业的技

    2023年04月08日
    浏览(37)
  • C#【必备技能篇】使用NPOI实现对excel的读取和写入

    依次执行下图中的1-6按钮 , 可以通过查看程序文件夹中的excel文件来加深理解。 链接:https://pan.baidu.com/s/19PgQMhCKviw9aBAjmJHSww 提取码:2omi 需要在源码中增加如下引用。相应的dll已更新到 5 的下载地址中。

    2023年04月13日
    浏览(38)
  • 【办公软件】C#调用NPOI实现Excel文件的加载、导出功能

    本文将介绍如何使用C#和NPOI库实现Excel文件的读写操作,并通过加载文件和导出文件的按钮进行封装。NPOI是一个强大的.NET库,可以轻松处理Excel文件。我们将学习如何使用NPOI打开现有的Excel文件、读取数据,并将数据写入到Excel文件中。 在开始之前,请确保已安装以下环境:

    2024年02月06日
    浏览(50)
  • EPPlus 读取和生成Excel

    在项目中添加了EPPlus库的引用,你可以通过NuGet包管理器或手动将EPPlus库添加到项目中。同时,需要注意的是EPPlus库支持的是xlsx格式的Excel文件。 使用EPPlus读取本地Excel文件的示例代码如下: 请注意替换代码中的\\\"path_to_your_excel_file.xlsx\\\"为你的本地Excel文件的路径。这个示例代

    2024年02月13日
    浏览(58)
  • 使用EPPlus加载excel数据

    Unity:2021.3.6f1c1 EPPlus:5.8.14 net.3.5 使用Nuget下载EPPlus,找到 net3.5中的EPPlus.dll文件,导入Unity的Plugins文件夹 创建一个xlsx(excel)文件,测试内容如下图 . 表格内容解释 第一行解释第二行的内容, 第二行对应变量名称,后续使用反射设置变量的值 第三行和第四行成员变量需要设置的内

    2024年02月08日
    浏览(42)
  • NPOI操作Excel

    名词介绍: 整个Excel:工作薄 Sheet页:页签,一个工作簿中可以包含多个Sheet页 表格:对应一个Sheet 行、列、单元格 C#中的常规操作: 导出一个Excel:其实就是要生成一个Excel文件,Excel文件对应的文件流 导入一个Excel:读取一个文件,读取文件流,需要从文件流中读取我们需要

    2024年02月12日
    浏览(40)
  • 使用NPOI修改Excel数据

    需求:格式为exp的文件,具有json结构,替换掉其中某些数据 解决方法:读取excel,用npoi读取指定内容,在exp中找到特定结构,然后替换 读取其他格式的文件也是用此方法

    2024年02月08日
    浏览(40)
  • .Net NPOI Excel 导出

    最终效果图      环境:Revit,WPF,NPOI 2.5.6,.Net Framework 4.7.2 右击项目引用,选择 \\\"管理NuGet程序包\\\",在浏览搜索 NPOI ,选择版本(我这里是2.5.6),安装       安装成功后,引用里会出现这四个引用(NPOI,NPOI.OOXML,NPOI.OpenXml4Net,NPOI.OpenXmlFormats) 在NuGet程序包里会多出来这

    2024年02月07日
    浏览(52)
  • NPOI 读取和写入Excel

    在C#中使用NPOI库读取和写入Excel文件,你需要先下载并安装NPOI库。你可以在NuGet管理器中搜索NPOI并进行安装。 以下是一个使用NPOI库进行Excel文件读取和写入的示例: 读取Excel文件: 写入Excel文件: 请注意,在使用NPOI时,记得引入必要的命名空间: NPOI.SS.UserModel 和 NPOI.XSSF.

    2024年02月12日
    浏览(86)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包