您的位置:首页 > 汽车 > 时评 > C#利用NPOI在已有多个Sheet的Excel中的其中一个Sheet插入或保存数据

C#利用NPOI在已有多个Sheet的Excel中的其中一个Sheet插入或保存数据

2024/9/8 10:20:45 来源:https://blog.csdn.net/x1234w4321/article/details/140212561  浏览:    关键词:C#利用NPOI在已有多个Sheet的Excel中的其中一个Sheet插入或保存数据

在使用NPOI库处理Excel文件(尤其是.xlsx文件,即Excel 2007及以上版本)时,你可以很容易地读取、修改或向已存在的Excel文件中的特定Sheet添加数据。以下是一个基本的步骤说明和示例代码,展示如何在C#中使用NPOI向已包含多个Sheet的Excel文件中的指定Sheet插入或保存数据。

准备工作

首先,确保你的项目中已经安装了NPOI库。你可以通过NuGet包管理器安装NPOI库。

示例代码

下面的示例代码演示了如何打开一个已存在的Excel文件(假设为.xlsx格式),然后向其中一个名为"Sheet1"的Sheet中插入数据。

using NPOI.SS.UserModel;  
using NPOI.XSSF.UserModel;  
using System;  
using System.IO;  class Program  
{  static void Main()  {  // Excel文件路径  string filePath = @"C:\path\to\your\excel.xlsx";  // 创建一个FileInfo对象来获取Excel文件的信息  FileInfo fileInfo = new FileInfo(filePath);  // 检查文件是否存在  if (!fileInfo.Exists)  {  Console.WriteLine("文件不存在,请检查路径。");  return;  }  // 使用FileStream打开文件  using (FileStream file = new FileStream(filePath, FileMode.Open, FileAccess.ReadWrite))  {  // 根据文件类型选择创建Workbook的工厂类  IWorkbook workbook;  if (fileInfo.Extension.ToUpper() == ".XLSX")  {  workbook = new XSSFWorkbook(file);  }  else if (fileInfo.Extension.ToUpper() == ".XLS")  {  workbook = new HSSFWorkbook(file);  }  else  {  Console.WriteLine("不支持的文件格式。");  return;  }  // 获取或创建Sheet  ISheet sheet = workbook.GetSheet("Sheet1") ?? workbook.CreateSheet("Sheet1");  // 创建Row(如果还没有足够的行),这里我们假设总是操作第一行  int rowNum = 0;  if (rowNum >= sheet.LastRowNum)  {  sheet.CreateRow(rowNum);  }  // 获取Row对象  IRow row = sheet.GetRow(rowNum);  // 创建Cell并设置值  // 假设我们要设置第一列的值为"Hello, NPOI!"  if (row.GetCell(0) == null)  {  row.CreateCell(0);  }  row.GetCell(0).SetCellValue("Hello, NPOI!");  // 将修改写回文件  workbook.Write(file);  Console.WriteLine("数据已保存到Excel文件中。");  }  }  
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com