关于NPOI处理Excel中的公式

尚方宝剑彤叟无欺 2019-08-21 01:16:34
经过数天的努力,终于把我的户籍管理系统中关于Excel表格的操作都改为用NPOI处理解决了,速度真心快了许多,所有导出表格都是一点就有。在处理使用模板导出数据的过程中遇到一个包含公式的问题,如下图中的模板,每次导出数据时,首先向下复制一行第3行(数据张三那行)到第4行,然后填入一行数据,再从第4行复制一行到第5行,再填入第4行数据,以此类推,直到所有数据行填写完毕,在模板数据首行(第3行)g列有一个公式,如红色标记处所示,现在的问题是该公式不能岁行号增加而增加序号,每行复制的结果都是相同的如:IF(F3=0,"",B3),按我的计划第4行应该变为 IF(F4=0,"",B4).....第100行应该变为IF(F100=0,"",B100)。那位高手能看看如何实现。我尝试用循环变量编写序号也没有用。代码: row[i].GetCell(6).SetCellValue("=IF(F" + (i + 1).ToString() + "=0,'',B" + (i + 1).ToString());


...全文
473 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
谢谢楼上的朋友,的确像你所说的。代码更改后实现了公式随行变化的目的。给分结贴!
row[i].GetCell(6).SetCellFormula("IF(F" + (i + 1).ToString() + "=0,\"\",B" + (i + 1).ToString()+")");
asq985 2019-08-21
  • 打赏
  • 举报
回复
对于已知道值你自己在程序里实现就行了,对于未知的你用公式也应该是SetCellFormula,而不是SetCellValue

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧