使用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(0); //开始向excel表格中写入数据
//表页、行和列都是从0开始编号 //修改单元格,这里是第3行第6列 HSSFCell cell = (HSSFCell)sheet1.GetRow(2).GetCell(5);
//这里2,5是3F,也就是F3 cell.SetCellValue(double.Parse("2.5"));
//这里设置存入的类型是double,写入的值是2.5 //修改单元格,这里是第3行第10列 cell = (HSSFCell)sheet1.GetRow(2).GetCell(9); 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); }