POI是apache提供的一个读写Excel文档的开源组件,在操作excel时常要合并单元格,合并单元格的方法是:
sheet.addMergedRegion(new CellRangeAddress(1, 1, 0, 2));
public CellRangeAddress(int firstRow, int lastRow, int firstCol, int lastCol)
自适应列宽度:
sheet.autoSizeColumn(1);
sheet.autoSizeColumn(1, true);
这两种方式都是自适应列宽度,但是注意这个方法在后边的版本才提供,poi的版本不要太老。 注意:第一个方法在合并单元格的的单元格并不好使,必须用第二个方法。
sheet.setColumnWidth(m, “列名”.getBytes().length*2*256);
这个方法是计算字符串的长度,以便设置列宽,该方法在解决中文的问题上比较好,前面两种方法对中文不好好用。。。。
还有在自适应宽度的时候,有时候遇到单元格是公式单元格,自适应不起作用,那是因为单元格存的是公式,并不是真正的数据,解决方法:
HSSFFormulaEvaluator evaluator = new HSSFFormulaEvaluator(sheet.getWorkbook());
CellValue cell71Val = evaluator.evaluate(cell71);
cell71.setCellValue(cell71Val.getNumberValue());
将格式化后的数据再次set进去,就是真正的值了。
POI IndexedColors 所有颜色索引
olor
org.apache.poi.hssf.util.HSSFColor$GREY_80_PERCENT@1aadbf7
color
org.apache.poi.hssf.util.HSSFColor$INDIGO@4f4458
color
org.apache.poi.hssf.util.HSSFColor$PLUM@100c56
color
org.apache.poi.hssf.util.HSSFColor$BROWN@19a1fae
color
org.apache.poi.hssf.util.HSSFColor$OLIVE_GREEN@1960c9e
color
org.apache.poi.hssf.util.HSSFColor$DARK_GREEN@168f39
color
org.apache.poi.hssf.util.HSSFColor$SEA_GREEN@11525cd
color
org.apache.poi.hssf.util.HSSFColor$DARK_TEAL@164e67f
color
org.apache.poi.hssf.util.HSSFColor$GREY_40_PERCENT@158cfda
color
o