请教JAVA使用POI导出excel处理空白单元格的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请教JAVA使用POI导出excel处理空白单元格的问题相关的知识,希望对你有一定的参考价值。

现在有如下需求,打开一个模板template.xls,然后往里面添加一些值,要添加的A列单元格之前都是空的,如果直接getCell()这些空白单元格并赋值会报空指针异常。然后我在遇到需要添加的空白单元格先创建一个cell并赋值,这时赋值是成功的,但是另外一个问题就来了,有B列单元格,它的值是通过公式取A列的某些单元格计算得来的,A列的值添加成功后,B列的公式失效了,必须要手动点一下,才会触发,请问这个问题要如何解决?我的最终目的是能把数据库查到的值添加到A列,然后B公式还是生效的。
如果是我手动更改下A列的数据,B列的公式也会生效。请教这是什么原因?

参考技术A 你只是给A列添加值,B列为什么会变?POI只是读写流操作数据.至于公式变化那是EXCEL自带的功能,你POI操作的是EXCEL文档而不是EXCEL本身,这个你得弄清楚
要想达到同样的效果,得到公式,然后根据参数计算出结果塞进B列中就行

至于你要操作EXCEL可以用JACOB,那是操作的EXCEL本回答被提问者采纳

POI 使用XSSF导出Excel自定义单元格颜色为啥始终是黑色的?代码如下

XSSFCellStyle style = wb.createCellStyle();;
style.setFillForegroundColor(new XSSFColor(new java.awt.Color(231,230,230),new DefaultIndexedColorMap()));
style.setFillPattern(FillPatternType.SOLID_FOREGROUND);

参考技术A 使用 poi ,具体实现
HSSFCellStyle style = null;
// 创建表头style
HSSFCellStyle cellStyleTitle = workbook.createCellStyle();
cellStyleTitle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); // 填充单元格
cellStyleTitle.setFillForegroundColor(HSSFColor.YELLOW.index);
cellStyleTitle.setAlignment(HSSFCellStyle.ALIGN_CENTER);// //居中显示

HSSFRow titleRow = sheet.createRow(0);
for (int i = 0; i < titles.length; i++)
HSSFCell cell = titleRow.createCell(i);
// cell.setCellStyle(createCellColorStyle(workbook));
cell.setCellStyle(cellStyleTitle);
cell.setCellValue(titles[i]);// 给单元格赋值

以上是关于请教JAVA使用POI导出excel处理空白单元格的问题的主要内容,如果未能解决你的问题,请参考以下文章

JAVA POI 导出 EXCEL模板 怎么设置单元格格式为 文字

JAVA POI 导出 EXCEL模板 怎么设置单元格格式为 文字

java poi导出excel要双击才显示换行?

java POI excel 导出复合样式(一个单元格两个字体)

JAVA POI 导出 EXCEL怎么设置单元格格式为 文字

java用poi导出word文档,我要导出一个表格,表格的单元格中还要有一个表格,请问怎么实现