如何在C#中使用EPPlus和Microsoft.Office.Interop.Excel处理Excel文件

全国数字货币钱包安装地址:tp9.app,bit16.app,tp784.app,tp888.app,im784.app,im45.app,tokenn.app,imtooken.app,imgw.app,imtom.vip,imtokemn.app,im116.app,imtokne.app,immtoken.app,im钱包.com,imtkem.app,tokim.app,im87.app,tptoka.app,tp钱包.cn,im112.app,im1.app,bitpia.app,imzg.app,imkem.vip,im70.app,im003.app,im82.app,tokim.app,imqb.app,tookeni.app,a471.cc,tokne.app,tokonii.app,imtokes.app,im1122.app,imkct.app,imkd.app,imkct.app,imtek.app,im22.im,imken.app ,tp114.app,bit114.app,imkenn.app,tp115.app,bit115.app,im221.cn,im888.app

在C#编程领域,处理Excel文件是一项常见的工作,不过面对众多库的存在,人们往往会感到迷茫。究竟该如何挑选适合的库?如何在性能和易用性之间找到平衡点?这些问题常常让开发者感到头疼。

微软Office套件里,存在一个叫作Interop.Excel的接口。

Microsoft.Office.Interop.Excel是个功能强大的组件。它隶属于Microsoft.Office.Interop程序集,为C#开发者提供了操作Excel文件的接口。若要在项目中应用它,必须添加“Microsoft.Office.Interop.Excel”的引用。例如,在开发过程中,若需处理与微软Office高度兼容的Excel相关任务,开发者往往会首选它。然而,不同版本的Office对它的支持水平各异,因此开发者在使用时需注意不同Office版本间的兼容性问题。

这个库在运用微软Excel基本功能方面有一定的长处,不过操作起来可能会感觉复杂。尤其是对于初学者来说,学会使用它并不简单。在那些规模不大或对资源需求不高的项目里,它倒是个不错的选择。

using Microsoft.Office.Interop.Excel;
public void ExportToExcel()
{
    Application excelApp = new Application();
    Workbook excelDoc = excelApp.Workbooks.Add(XlWBATemplate.xlWBATWorksheet);
    Worksheet excelSheet = (Worksheet)excelDoc.Worksheets[1];
    excelSheet.Cells[1, 1].Value = "这是第一行第一列的值";
    excelSheet.Cells[1, 2].Value = "这是第一行第二列的值";
    excelDoc.SaveAs("C:\\Temp\\ExportTest.xlsx");
    excelDoc.Close();
    excelApp.Quit();
}

NPOI

NPOI是一款开源的.NET库,主要用来操作Office文档,并附带了一系列API。相较于Microsoft.Office.Interop.Excel,NPOI在性能上更胜一筹,而且API使用起来更简单易懂。在众多C#开发的小工具中,NPOI应用广泛。特别是在处理轻量级的Excel数据时,NPOI表现得尤为出色。当开发者需要处理结构简单的Excel文件时,利用NPOI可以快速实现所需功能。

NPOI在某些方面存在局限,尤其在处理含有大量图表和复杂公式的Excel文件时,其功能可能不如其他库全面。在这方面,NPOI有待进一步完善。

EPPlus

using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
public void ExportToExcel()
{
    IWorkbook excelDoc = new XSSFWorkbook();
    ISheet excelSheet = excelDoc.CreateSheet("Sheet1");
    IRow excelRow = excelSheet.CreateRow(0);
    ICell cell1 = excelRow.CreateCell(0);
    cell1.SetCellValue("这是第一行第一列的值");
    ICell cell2 = excelRow.CreateCell(1);
    cell2.SetCellValue("这是第一行第二列的值");
    using (FileStream file = new FileStream("C:\\Temp\\ExportTest.xlsx", FileMode.Create, FileAccess.Write))
    {
        excelDoc.Write(file);
    }
}

EPPlus是一款基于OpenXML构建的.NET类库,主要功能是处理Excel文件。它的性能非常优秀,API设计得既简洁又方便使用。在软件开发中,很多项目因为需要快速导出Excel文件并且对性能有较高要求,所以都会选择使用EPPlus。比如,那些需要实时生成大量数据报表并导出为Excel文件的应用系统。

开源库虽然存在,但在某些特定方面,它可能无法与商业库如GemBox.Spreadsheet和Aspose.Cells相媲美。所以,开发者需要根据项目的具体需求来决定是否采用。

OpenXml

using OfficeOpenXml;
public void ExportToExcel()
{
    ExcelPackage excelDoc = new ExcelPackage();
    ExcelWorksheet excelSheet = excelDoc.Workbook.Worksheets.Add("Sheet1");
    excelSheet.Cells[1, 1].Value = "这是第一行第一列的值";
    excelSheet.Cells[1, 2].Value = "这是第一行第二列的值";
    FileInfo fileInfo = new FileInfo("C:\\Temp\\ExportTest.xlsx");
    excelDoc.SaveAs(fileInfo);
}

微软基于Office的开放XML文档标准,研发了OpenXml技术。使用前,必须导入Microsoft.OpenXml库。这项技术为Office文档的生成和修改提供了接口支持。在企业内部应用开发中,尤其是在对文档格式有严格规定的场景下,OpenXml常被作为首选。

这份文档的格式很能与其他系统兼容,不过掌握它挺费劲的。新手可能很快就不能自如地使用了,得花更多时间去掌握它的使用方法。

GemBox.Spreadsheet

using DocumentFormat.OpenXml;
using DocumentFormat.OpenXml.Packaging;
using DocumentFormat.OpenXml.Spreadsheet;
public void ExportToExcel()
{
    SpreadsheetDocument excelDoc = SpreadsheetDocument.Create("C:\\Temp\\ExportTest.xlsx", SpreadsheetDocumentType.Workbook);
    WorkbookPart workbookPart = excelDoc.AddWorkbookPart();
    Workbook workbook = new Workbook();
    workbookPart.Workbook = workbook;
    Sheets sheets = new Sheets();
    Sheet sheet = new Sheet() { Name = "Sheet1", SheetId = 1, Id = workbookPart.GetIdOfPart(workbookPart.AddNewPart()) };
    sheets.Append(sheet);
    WorksheetPart worksheetPart = workbookPart.AddNewPart();
    Worksheet worksheet = new Worksheet();
    SheetData sheetData = new SheetData();
    Row row = new Row() { RowIndex = 1 };
    Cell cell1 = new Cell() { CellReference = "A1" };
    cell1.CellValue = new CellValue("这是第一行第一列的值");
    row.Append(cell1);
    Cell cell2 = new Cell() { CellReference = "B1" };
    cell2.CellValue = new CellValue("这是第一行第二列的值");
    row.Append(cell2);
    sheetData.Append(row);
    worksheet.Append(sheetData);
    worksheetPart.Worksheet = worksheet;
    workbook.Save();
    excelDoc.Close();
}

GemBox.Spreadsheet是一款商业级的Excel库,具备高级API接口。与其他同类库相比,它的API功能更加强大、更灵活,在性能和Excel版本支持方面表现突出。对于商业开发中那些对Excel版本兼容性要求高,且需要处理复杂场景强大功能的场景,它无疑是最佳选择。

开发者在使用这一商业级库时,需支付费用。小型项目或开源项目开发者需关注成本因素。

Aspose.Cells

Aspose.Cells是一款商业Excel库。其API功能强大,操作灵活,处理Excel文件效率高,且支持多种Excel版本。在众多大型企业级项目中,当处理Excel文件需求较高时,它常被优先选择。

using GemBox.Spreadsheet;
public void ExportToExcel()
{
    SpreadsheetInfo.SetLicense("FREE-LIMITED-KEY");
    ExcelFile excelDoc = new ExcelFile();
    ExcelWorksheet excelSheet = excelDoc.Worksheets.Add("Sheet1");
    excelSheet.Cells[0, 0].Value = "这是第一行第一列的值";
    excelSheet.Cells[0, 1].Value = "这是第一行第二列的值";
    excelDoc.Save("C:\\Temp\\ExportTest.xlsx");
}

然而,鉴于其商业属性,资金不足的项目往往只能望洋兴叹。

C#中用于处理Excel的库功能各异,选用哪个需结合项目需求、预算以及性能和功能的考虑。希望大家能点赞、转发,并在评论区积极交流。

全国数字货币钱包安装地址:tp9.app,bit16.app,tp784.app,tp888.app,im784.app,im45.app,tokenn.app,imtooken.app,imgw.app,imtom.vip,imtokemn.app,im116.app,imtokne.app,immtoken.app,im钱包.com,imtkem.app,tokim.app,im87.app,tptoka.app,tp钱包.cn,im112.app,im1.app,bitpia.app,imzg.app,imkem.vip,im70.app,im003.app,im82.app,tokim.app,imqb.app,tookeni.app,a471.cc,tokne.app,tokonii.app,imtokes.app,im1122.app,imkct.app,imkd.app,imkct.app,imtek.app,im22.im,imken.app ,tp114.app,bit114.app,imkenn.app,tp115.app,bit115.app,im221.cn,im888.app

波宝钱包app下载
作者头像
波宝钱包app官网创始人

波宝钱包app官方

  • 波宝钱包(Bibox Wallet)作为一个多功能的数字资产管理工具,致力于为用户提供安全、便捷、高效的加密货币管理和交易服务。波宝钱包设计简洁直观,即使是加密货币新手也能轻松上手。所有功能都经过精心设计,用户可以迅速找到所需的服务,例如存储、发送或交易数字资产。
  • 版权声明:本站文章如无特别标注,均为本站原创文章,于2024-12-23,由波宝钱包app官网发表,共 5519个字。
  • 转载请注明出处:波宝钱包app官网,如有疑问,请联系我们
  • 本文地址:https://shandong.lyyysc.cn/babg/697.html
上一篇:TP钱包冷钱包使用指南:安全存储与管理加密资产的详细教程
下一篇:欧意最新版本数字货币交易平台APP下载推荐 - 7款值得下载的比特币交易软件

相关推荐