如何格式化POI HSSF列,而不是细胞(How to format a column instea

2019-07-31 02:18发布

打开与数百/数千个数据,“太多不同的单元格格式”的行的Excel文件时,我面临的一个问题

有关错误的更多信息
http://excelzoom.com/2009/09/the-mystery-of-excels-too-many-different-cell-formats/

所以我想格式化列非单元。 我可以找出如何格式化列的唯一方法是通过在格式化每个单独的小区; 通过实施下面列出的代码。 我想格式化列,而不是一行。 我有数百个/千行的数据进行格式化。 任何建议将非常感谢。

谢谢,

HSSFCellStyle cellStyle = wb.createCellStyle();
HSSFDataFormat dataFormat = wb.createDataFormat();
cellStyle.setDataFormat(dataFormat.getFormat("0.00"));

HSSFRow row = sheet.createRow(iRow);
HSSFCell cell = row.createCell((short)1);
cell.setCellStyle(cellStyle);

Answer 1:

有一个更好的方法,至少当你与“新”的Excel格式工作。 使用:

((XSSFSheet)sheet).getColumnHelper().setColDefaultStyle(col, myStyle);

使用这将确保样式继续甚至低于已插入数据的行。 而且生成的文件也随之变小。



Answer 2:

发现这里的答案

http://poi.apache.org/faq.html#faq-N1014B去节

  1. 我创建的POI工作簿时使用的样式,但Excel的拒绝打开该文件,抱怨“太多的样式”。

山姆



Answer 3:

当你还没有定义,你CellStyle所以它创建工作簿,以便创建多个对象的时候抛出错误每一次新的对象循环外部对象。

因此,创建CellStyle在较高级别的对象,类和指相同的对象在环与wb.createCellStyle();



文章来源: How to format a column instead of cell in POI hssf