工作总结 npoi 模板 导出公式 excel
Apache POI(5):公式(formula)
Apache POI(5):公式(formula)
- package com.hthk.iisz.util;
- import java.io.File;
- import java.io.FileOutputStream;
- import org.apache.poi.xssf.usermodel.XSSFCell;
- import org.apache.poi.xssf.usermodel.XSSFRow;
- import org.apache.poi.xssf.usermodel.XSSFSheet;
- import org.apache.poi.xssf.usermodel.XSSFWorkbook;
- public class FormulaTest {
- public static void main(String[] args) throws Exception {
- formula();
- }
- public static void formula() throws Exception {
- XSSFWorkbook workbook = new XSSFWorkbook();
- XSSFSheet sheet = workbook.createSheet("formula");
- XSSFRow row = sheet.createRow(1);
- XSSFCell cell = row.createCell(1);
- cell.setCellValue("A =");
- cell = row.createCell(2);
- cell.setCellValue(2);
- row = sheet.createRow(2);
- cell = row.createCell(1);
- cell.setCellValue("B =");
- cell = row.createCell(2);
- cell.setCellValue(4);
- row = sheet.createRow(3);
- cell = row.createCell(1);
- cell.setCellValue("Total =");
- cell = row.createCell(2);
- // create sum formula
- cell.setCellType(XSSFCell.CELL_TYPE_FORMULA);
- cell.setCellFormula("SUM(C2:C3)");
- cell = row.createCell(3);
- cell.setCellValue("SUM(C2:C3)");
- row = sheet.createRow(4);
- cell = row.createCell(1);
- cell.setCellValue("POWER =");
- cell = row.createCell(2);
- // create power formula
- cell.setCellType(XSSFCell.CELL_TYPE_FORMULA);
- cell.setCellFormula("POWER(C2,C3)");
- cell = row.createCell(3);
- cell.setCellValue("POWER(C2,C3)");
- row = sheet.createRow(5);
- cell = row.createCell(1);
- cell.setCellValue("MAX =");
- cell = row.createCell(2);
- // Create MAX formula
- cell.setCellType(XSSFCell.CELL_TYPE_FORMULA);
- cell.setCellFormula("MAX(C2,C3)");
- cell = row.createCell(3);
- cell.setCellValue("MAX(C2,C3)");
- row = sheet.createRow(6);
- cell = row.createCell(1);
- cell.setCellValue("FACT =");
- cell = row.createCell(2);
- // Create FACT formula
- cell.setCellType(XSSFCell.CELL_TYPE_FORMULA);
- cell.setCellFormula("FACT(C3)");
- cell = row.createCell(3);
- cell.setCellValue("FACT(C3)");
- row = sheet.createRow(7);
- cell = row.createCell(1);
- cell.setCellValue("SQRT =");
- cell = row.createCell(2);
- // Create SQRT formula
- cell.setCellType(XSSFCell.CELL_TYPE_FORMULA);
- cell.setCellFormula("SQRT(C5)");
- cell = row.createCell(3);
- cell.setCellValue("SQRT(C5)");
- workbook.getCreationHelper().createFormulaEvaluator().evaluateAll();
- FileOutputStream out = new FileOutputStream(new File("formula.xlsx"));
- workbook.write(out);
- out.close();
- System.out.println("fromula.xlsx written successfully");
- }
- }
效果截图
sheet.ForceFormulaRecalculation =
true
;
1.使用cell.setCellFormula方法重新在制定Cell里写入公式。
2.使用sheet.setForceFormulaRecalculation(true);方法强制让改Sheet执行公式。
EvaluateFormulaCell
#region 插入块
int rowsindex = 0;
for (int i = 0; i < lastarea.Count - 1; i++)
{
int tj = rowsindex + 70;
for (; rowsindex < tj; rowsindex++)
{
sheet.CreateRow(rowsindex + 70); //有些行为null 统一创建一下
sheet.CopyRow(rowsindex, rowsindex + 70);
}
}
#endregion
//统计
if ((HSSFCell)sheet.GetRow(dataarea + 40).GetCell(3) == null) //一个道理 为空 创建
{
ICell cell = (HSSFCell)sheet.GetRow(dataarea + 40).CreateCell(3);
}
((HSSFCell)sheet.GetRow(dataarea + 40).GetCell(3)).SetCellType(CellType.FORMULA); //设置表达式格式
//((HSSFRow)sheet.GetRow(dataarea + 40)).GetCell(3).SetCellValue("=SUM(D" + (dataarea + 1) + ":D" + (dataarea + 40) + ")");
((HSSFRow)sheet.GetRow(dataarea + 40)).GetCell(3).SetCellFormula("SUM(D" + (dataarea + 1) + ":D" + (dataarea + 40) + ")"); //设置表达式的值 不用=
工作总结 npoi 模板 导出公式 excel的更多相关文章
- c#使用NPOI快速导出到Excel
接上篇博文<C#快速导出到excel>:由于此种方法不能导出成.xlsx格式,为解决此问题,本次分享使用NPOI. 参考:https://www.cnblogs.com/lazyneal/ ...
- c#.net 使用NPOI导入导出标准Excel (asp.net winform csharp)
尝试过很多Excel导入导出方法,都不太理想,无意中逛到oschina时,发现了NPOI,无需Office COM组件且不依赖Office,顿时惊为天人,怀着无比激动的心情写下此文. 曾使用过的方法 ...
- ASP.NET- 使用NPOI导入导出标准Excel
尝试过很多Excel导入导出方法,都不太理想,无意中逛到oschina时,发现了NPOI,无需Office COM组件且不依赖Office,顿时惊为天人,怀着无比激动的心情写下此文. 曾使用过的方法 ...
- 使用NPOI导入导出标准Excel
尝试过很多Excel导入导出方法,都不太理想,无意中逛到oschina时,发现了NPOI,无需Office COM组件且不依赖Office,顿时惊为天人,怀着无比激动的心情写下此文. 曾使用过的方法 ...
- NPOI 设置导出的excel内容样式
导出excel时,有时要根据需要加上一些样式,以上几种样式是我在项目中用到的 一.给单元格加背景色只需两步:一是创建单元格背景景色对象:二是给单元格绑定样式 //创建单元格背景颜色对象 HSSFPal ...
- 使用NPOI快速导出导入Excel
这两天做项目需要导入导出EXCEL,是基于NPOI的封装,设计思路是使用DataTable,然后导出一个和DataTable一模一样的Excel表出来 github地址:https://github. ...
- NOPI读取模板导出(Excel中追加数据)
在Controller里,我们定义一个FileResult的Action,返回值是一个文件形式被浏览器下载下来. [HttpGet] public FileResult ExportProductLi ...
- asp.net Mvc Npoi 导出导入 excel
因近期项目遇到所以记录一下: 首先导出Excel : 首先引用NPOI包 http://pan.baidu.com/s/1i3Fosux (Action一定要用FileResult) /// < ...
- ASP.NET Core 2.2 : 十六.扒一扒新的Endpoint路由方案 try.dot.net 的正确使用姿势 .Net NPOI 根据excel模板导出excel、直接生成excel .Net NPOI 上传excel文件、提交后台获取excel里的数据
ASP.NET Core 2.2 : 十六.扒一扒新的Endpoint路由方案 ASP.NET Core 从2.2版本开始,采用了一个新的名为Endpoint的路由方案,与原来的方案在使用上差别不 ...
随机推荐
- Linux Oracle DB log 清理
sid_list=`/bin/ps -ef |/bin/grep smon |/bin/grep -v grep | /bin/cut -f3 -d_` host_name=`hostname` cd ...
- javascript原型理解一种
http://www.jianshu.com/p/15ac7393bc1f 这个系列值得好好学习的.. // 声明构造函数 function Person(name, age) { this.name ...
- vue.js 2的表单控件
静下心,抄一段sample,以后可以快点到这里来抄...: <!DOCTYPE html> <html> <head> <meta charset=" ...
- HDU 5900 QSC and Master (区间DP)
题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=5900 题意:给出序列$A_{i}.key$和$A_{i}.value$,若当前相邻的两个数$A_{ ...
- 洛谷——P1093 奖学金
P1093 奖学金 题目描述 某小学最近得到了一笔赞助,打算拿出其中一部分为学习成绩优秀的前5名学生发奖学金.期末,每个学生都有3门课的成绩:语文.数学.英语.先按总分从高到低排序,如果两个同学总分相 ...
- (转)代码中实现button
链接地址:http://www.cnblogs.com/hukezhu/p/4500206.html 随着iOS开发发展至今,在UI制作上逐渐分化为了三种主要流派:使用代码手写UI及布局:使用单个xi ...
- TCP/IP,http,socket,长连接,短连接 —— 小结
TCP/IP是什么? TCP/IP是个协议组,可分为三个层次:网络层.传输层和应用层. 在网络层有IP协议.ICMP协议.ARP协议.RARP协议和BOOTP协议. 在传输层中有TCP协议 ...
- Lucas定理模板【bzoj2982】【combination】
(上不了p站我要死了,侵权度娘背锅) Description LMZ有n个不同的基友,他每天晚上要选m个进行[河蟹],而且要求每天晚上的选择都不一样.那么LMZ能够持续多少个这样的夜晚呢?当然,LMZ ...
- [POI2014]Ant colony
题目大意: 给定一棵$n(n\le10^6)$个结点的树.在每个叶子结点,有$g$群蚂蚁要从外面进来,其中第$i$群有$m_i$只蚂蚁.这些蚂蚁依次爬树(一群蚂蚁爬完后才会爬另一群),若当前经过结点度 ...
- hdu 1599 find the mincost route 最小环
题目链接:HDU - 1599 杭州有N个景区,景区之间有一些双向的路来连接,现在8600想找一条旅游路线,这个路线从A点出发并且最后回到A点,假设经过的路线为V1,V2,....VK,V1,那么必须 ...