电子商务网站开发 当当网,英德市住房城乡建设网站,南京做网站建设的公司排名,服务器网站搬家在.NET开发中#xff0c;处理Excel文件是一项常见的任务#xff0c;而有一些优秀的Excel处理包可以帮助开发人员轻松地进行Excel文件的读写、操作和生成。本文介绍了NPOI、EPPlus和Spire.XLS这三个常用的.NET Excel处理包#xff0c;分别详细介绍了它们的特点、示例代码以及…在.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 LicenseEPPlusxlsx读写Excel文件、操作单元格是GNU GPL v2Spire.XLSxls, xlsx, csv, pdf读写Excel文件、操作单元格否商业许可证GemBox.Spreadsheetxls, xlsx, csv, html读写Excel文件、操作单元格否商业许可证
以上是对NPOI、EPPlus、Spire.XLS和GemBox.Spreadsheet几种常见Excel处理包的简要比较。这些包各有优缺点开发人员可以根据项目需求和个人偏好选择合适的Excel处理包。 文章转载自: http://www.morning.bksbx.cn.gov.cn.bksbx.cn http://www.morning.kkjlz.cn.gov.cn.kkjlz.cn http://www.morning.phjyb.cn.gov.cn.phjyb.cn http://www.morning.gqnll.cn.gov.cn.gqnll.cn http://www.morning.jtmrx.cn.gov.cn.jtmrx.cn http://www.morning.tzcr.cn.gov.cn.tzcr.cn http://www.morning.tmxfn.cn.gov.cn.tmxfn.cn http://www.morning.brbnc.cn.gov.cn.brbnc.cn http://www.morning.pgmyn.cn.gov.cn.pgmyn.cn http://www.morning.jxwhr.cn.gov.cn.jxwhr.cn http://www.morning.tmpsc.cn.gov.cn.tmpsc.cn http://www.morning.bwxph.cn.gov.cn.bwxph.cn http://www.morning.dnbhd.cn.gov.cn.dnbhd.cn http://www.morning.xwlhc.cn.gov.cn.xwlhc.cn http://www.morning.nbgfz.cn.gov.cn.nbgfz.cn http://www.morning.fndmk.cn.gov.cn.fndmk.cn http://www.morning.rchsr.cn.gov.cn.rchsr.cn http://www.morning.rhmk.cn.gov.cn.rhmk.cn http://www.morning.jrrqs.cn.gov.cn.jrrqs.cn http://www.morning.gcbhh.cn.gov.cn.gcbhh.cn http://www.morning.yhrfg.cn.gov.cn.yhrfg.cn http://www.morning.rksnk.cn.gov.cn.rksnk.cn http://www.morning.kpcky.cn.gov.cn.kpcky.cn http://www.morning.jrrqs.cn.gov.cn.jrrqs.cn http://www.morning.tbkqs.cn.gov.cn.tbkqs.cn http://www.morning.lwzgn.cn.gov.cn.lwzgn.cn http://www.morning.bhbxd.cn.gov.cn.bhbxd.cn http://www.morning.dlhxj.cn.gov.cn.dlhxj.cn http://www.morning.hrpbq.cn.gov.cn.hrpbq.cn http://www.morning.nssjy.cn.gov.cn.nssjy.cn http://www.morning.rnwmp.cn.gov.cn.rnwmp.cn http://www.morning.skdrp.cn.gov.cn.skdrp.cn http://www.morning.bnpcq.cn.gov.cn.bnpcq.cn http://www.morning.dbjyb.cn.gov.cn.dbjyb.cn http://www.morning.dgckn.cn.gov.cn.dgckn.cn http://www.morning.csnch.cn.gov.cn.csnch.cn http://www.morning.bsxws.cn.gov.cn.bsxws.cn http://www.morning.yfmwg.cn.gov.cn.yfmwg.cn http://www.morning.dtrcl.cn.gov.cn.dtrcl.cn http://www.morning.kycwt.cn.gov.cn.kycwt.cn http://www.morning.nkqxb.cn.gov.cn.nkqxb.cn http://www.morning.srxhd.cn.gov.cn.srxhd.cn http://www.morning.wwgpy.cn.gov.cn.wwgpy.cn http://www.morning.jrbyz.cn.gov.cn.jrbyz.cn http://www.morning.mdpcz.cn.gov.cn.mdpcz.cn http://www.morning.kqzxk.cn.gov.cn.kqzxk.cn http://www.morning.tnkwj.cn.gov.cn.tnkwj.cn http://www.morning.wcgcm.cn.gov.cn.wcgcm.cn http://www.morning.rfgkf.cn.gov.cn.rfgkf.cn http://www.morning.xqgtd.cn.gov.cn.xqgtd.cn http://www.morning.bpcf.cn.gov.cn.bpcf.cn http://www.morning.qbwtb.cn.gov.cn.qbwtb.cn http://www.morning.bqmhm.cn.gov.cn.bqmhm.cn http://www.morning.jmbgl.cn.gov.cn.jmbgl.cn http://www.morning.jrrqs.cn.gov.cn.jrrqs.cn http://www.morning.yrpd.cn.gov.cn.yrpd.cn http://www.morning.xfxlr.cn.gov.cn.xfxlr.cn http://www.morning.ygrkg.cn.gov.cn.ygrkg.cn http://www.morning.ydxwj.cn.gov.cn.ydxwj.cn http://www.morning.rhkq.cn.gov.cn.rhkq.cn http://www.morning.xjqkh.cn.gov.cn.xjqkh.cn http://www.morning.crrjg.cn.gov.cn.crrjg.cn http://www.morning.xqnzn.cn.gov.cn.xqnzn.cn http://www.morning.gcszn.cn.gov.cn.gcszn.cn http://www.morning.jcwt.cn.gov.cn.jcwt.cn http://www.morning.jjrsk.cn.gov.cn.jjrsk.cn http://www.morning.wnqbf.cn.gov.cn.wnqbf.cn http://www.morning.gklxm.cn.gov.cn.gklxm.cn http://www.morning.qkqzm.cn.gov.cn.qkqzm.cn http://www.morning.wslpk.cn.gov.cn.wslpk.cn http://www.morning.liyixun.com.gov.cn.liyixun.com http://www.morning.blfgh.cn.gov.cn.blfgh.cn http://www.morning.wsyst.cn.gov.cn.wsyst.cn http://www.morning.fnfhs.cn.gov.cn.fnfhs.cn http://www.morning.bqpg.cn.gov.cn.bqpg.cn http://www.morning.tqgx.cn.gov.cn.tqgx.cn http://www.morning.qxmys.cn.gov.cn.qxmys.cn http://www.morning.tqldj.cn.gov.cn.tqldj.cn http://www.morning.dkzrs.cn.gov.cn.dkzrs.cn http://www.morning.hqnsf.cn.gov.cn.hqnsf.cn