使用NPOI插件读取excel模版修改数据后保存到新目录新文件中

时间:2023-03-09 06:25:45
使用NPOI插件读取excel模版修改数据后保存到新目录新文件中

添加引用:

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

获取模版文件路径:

string modelExlPath = "\\xls\\文件名.xls";    // 前面“\\xls\\是文件路径”,可以如:\\Users\\Administrator\\Desktop\\
HSSFWorkbook hssfworkbookDown;   //创建一个excel对象
//读入刚复制的要导出的excel文件
using (FileStream file = new FileStream(modelExlPath, FileMode.Open, FileAccess.Read)) //路径,打开权限,读取权限
{
hssfworkbookDown = new HSSFWorkbook(file);
file.Close();
}
//模版的一个页面在GetSheetAt方法中,这里取第一个页面是0
HSSFSheet sheet1 = (HSSFSheet)hssfworkbookDown.GetSheetAt();
//开始向excel表格中写入数据
       //表页、行和列都是从0开始编号
//修改单元格,这里是第3行第6列
HSSFCell cell = (HSSFCell)sheet1.GetRow().GetCell();
       //这里2,5是3F,也就是F3
cell.SetCellValue(double.Parse("2.5"));
       //这里设置存入的类型是double,写入的值是2.5
//修改单元格,这里是第3行第10列
cell = (HSSFCell)sheet1.GetRow().GetCell();
cell.SetCellValue(double.Parse("2.9"));

接下来保存文件:

SaveFileDialog sfd = new SaveFileDialog();
sfd.FileName = "文件名.xls"; //文件名
sfd.Filter = Excel 工作薄(*.xls)|*.xls"; //文件类型
sfd.ShowDialog(); //创建文件
using(FileStream files = new FileStream(sfd.FileName, FileMode.Create))
{
  hssfworkbookDown.Write(files);
}