excel模板
设置
好公式即可。
在下面这行代码:workbook.write(out);// 输出Excel内容,生成Excel文件 之前,
添加这个语句:workbook.
set
ForceFormulaRecalculation(true);// 执行公式。
workbook.
set
ForceFormulaRecalculation(true);// 执行公式
workbook.write(out);// 输出Excel内容,生成Excel文件
导出Excel表格时计算公式不自动计算问题:
相信一些后端的小伙伴,在做导出excel时内含的公式会出现无法自动计算的问题,今天东哥在这分享一下自己是如何解决的。
首先先晒出所出现问题的表格样式:
&nbs...
找了好久没有看到有人解决,大多都是xls版本的HSSF。下面是解决xlsx版本
XSS
F公式失效问题。
需求:从系统中生成EXCEL,在最后一行合计。
实现:代码中写出excel的合计公式。拼凑出例如:=SUM(J3:J7)放进代码。
问题:实际导出来的excel文件,合计栏出现了空白。鼠标放上去看,公式完全没有问题,就是没有生效,并且提示是非受保护视图。点击启用编辑关掉受保护视图,公式又生效了。
// 合计2 数值格式
XSS
F
Cell
Style contextStyle2 =
具体表现为将字符串类型的电话号码存入Excel中,双击单元格后,转变为大数类型。
原因是
设置
样式和填入数据的先后顺序问题,所以只需要在填入数据前
设置
单元格样式和类型即可解决:
row.create
Cell
(2).
set
Cell
Style(
cell
Style);
row.create
Cell
(2).
set
Cell
Value
(addressBook.getPhonenum());
EXCEL模板有两个sheet,画面内容要出力到第二个sheet中,第一个sheet
设置
公式,读取第二个sheet的内容进行计算。
出现了这样一个问题,画面内容正常出力到第二个sheet中了,但是第一个sheet中并没有反映出相应的内容,把光标放到有公式的单元格中,再打一下回车键,内容才会显示出来。
解决办法如下:
public static String writeExcel(File output)
当
java
操作excel表格的时候,有时候通过公式计算比直接后台计算要方便,所以公式计算的重要性体现了出来
// 单元格类型
cell
.
set
Cell
Type(
Cell
Type.FORMULA.getCode());
// 公式
cell
.
set
Cell
Formula("SUM(J20:J"+(count+1)+")/SUM(G20:G"+(count+1)+")");
单元格类型有这些
public enum
Cell
Type {
@Internal(
since = "
POI
在使用
poi
导出Excel 2007版本的Excel时,给单元格S
XSS
F
Cell
的对象赋值,调用
set
Cell
Value
()方法,但是却报红线,点进该方法,查看源代码
@Override
public void
set
Cell
Value
(boolean
value
)
ensureTypeOrFormulaType(
Cell
Type.BOOLEAN);
if(_
value
.getType()==
Cell
Type.FORMULA)
同一行跳跃的单元格内填入数据后,应用于相同的样式时,第一个单元格样式
不生效
,第二个单元格样式生效:
如图所示:前一个单元格字体与后一个单元格字体不同,原因是第一个样式未生效,第二个样式生效;
错误代码:
HSSFRow row1 = sheet.createRow(1); //创建行,从0开始
HSSF
Cell
cell
1 = row1.create
Cell
(1);//创建列,从0开始