跨境派

跨境派

跨境派,专注跨境行业新闻资讯、跨境电商知识分享!

当前位置:首页 > 跨境学堂 > C#进阶-用于Excel处理的程序集

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

时间:2024-03-24 13:47:58 来源:网络cs 作者:晨起 栏目:跨境学堂 阅读:

标签: 程序  处理 
阅读本书更多章节>>>>

在.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处理包及其主要特点的对比:

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

以上是对NPOI、EPPlus、Spire.XLS和GemBox.Spreadsheet几种常见Excel处理包的简要比较。这些包各有优缺点,开发人员可以根据项目需求和个人偏好选择合适的Excel处理包。

阅读本书更多章节>>>>

本文链接:https://www.kjpai.cn/xuetang/2024-03-24/147907.html,文章来源:网络cs,作者:晨起,版权归作者所有,如需转载请注明来源和作者,否则将追究法律责任!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。

文章评论