求C# winform 使用NPOI 通过excel模板制作excel导出。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求C# winform 使用NPOI 通过excel模板制作excel导出。相关的知识,希望对你有一定的参考价值。

参考技术A

假如你有个这样的模板

代码像这样处理,如下

FileStream file = new FileStream(@"模板路径/book1.xls", FileMode.Open,FileAccess.Read); 
 
HSSFWorkbook hssfworkbook = new HSSFWorkbook(file);
HSSFSheet sheet1 = hssfworkbook.GetSheet("Sheet1");
sheet1.GetRow(1).GetCell(1).SetCellValue(200200);
sheet1.GetRow(2).GetCell(1).SetCellValue(300);
sheet1.GetRow(3).GetCell(1).SetCellValue(500050);
sheet1.GetRow(4).GetCell(1).SetCellValue(8000);
sheet1.GetRow(5).GetCell(1).SetCellValue(110);
sheet1.GetRow(6).GetCell(1).SetCellValue(100);
sheet1.GetRow(7).GetCell(1).SetCellValue(200);
sheet1.GetRow(8).GetCell(1).SetCellValue(210);
sheet1.GetRow(9).GetCell(1).SetCellValue(2300);
sheet1.GetRow(10).GetCell(1).SetCellValue(240);
sheet1.GetRow(11).GetCell(1).SetCellValue(180123);
sheet1.GetRow(12).GetCell(1).SetCellValue(150); 
 
//Force excel to recalculate all the formula while open
sheet1.ForceFormulaRecalculation = true;
//生成新的excel 
FileStream file = new FileStream(@"test.xls", FileMode.Create);
hssfworkbook.Write(file);
file.Close();

首先打开模板文件时要使用FileAccess.Read,这样可以保证文件不被占用。

这里的ForceFormulaRecalculation是强制要求Excel在打开时重新计算的属性,在拥有公式的xls文件中十分有用,使用时可别忘了设。

是不是比你想象的简单?你甚至不用去了解它是在何时读取文件内容的,对于NPOI的使用者来说基本上和读取普通文件没有什么两样。

最终生成的效果如下所示:

追答

只要你把模板定义好,再复杂的报表也一样的处理方式啊

参考技术B 我这有代码 邮箱给我我给你发 求给分追问

求指导 比较复杂的报表 加 1060002916

本回答被提问者采纳

c# winform splitcontainer中datagridview滚动条不能显示,求解答~

ScrollBars属性不可以吗?
None【无滚动条】,Horizontal【水平滚动条】,Vertical【垂直滚动条】,Both【水平垂直都有】
参考技术A 属性里选下就行了,数据太少时不会出现滚动条 参考技术B Scrolling 属性设置为Auto 参考技术C 不能显示? 。。。。 参考技术D 滚动条? 。。。。追问

是的

以上是关于求C# winform 使用NPOI 通过excel模板制作excel导出。的主要内容,如果未能解决你的问题,请参考以下文章

求指导用C#借助npoi将excel导入mysql数据库(或者dataset、datatable)!!!!!

C#通过NPOI操作Excel

C# Winform 中怎么通过登录权限不同,登录进去后显示不同的界面啊 求大神

c#导出excel慢

C#通过NPOI操作Excel

C#组件系列——又一款Excel处理神器Spire.XLS,你值得拥有