POI是apache提供的一个读写Excel文档的开源组件,在操作excel时常要合并单元格,合并单元格的方法是:
(new CellRangeAddress(1, 1, 0, 2));
自适应列宽度:
(1);
(1, true);
这两种方式都是自适应列宽度,但是注意这个方法在后边的版本才提供,poi的版本不要太老。 注意:第一个方法在合并单元格的的单元格并不好使,必须用第二个方法。
(m, “列名”.getBytes().length*2*256);
这个方法是计算字符串的长度,以便设置列宽,该方法在解决中文的问题上比较好,前面两种方法对中文不好好用。。。。
还有在自适应宽度的时候,有时候遇到单元格是公式单元格,自适应不起作用,那是因为单元格存的是公式,并不是真正的数据,解决方法:
HSSFFormulaEvaluator evaluator = new HSSFFormulaEvaluator(());
CellValue cell71Val = (cell71);
(());
将格式化后的数据再次set进去,就是真正的值了。
//字体
HSSFFont font = ();
("仿宋_GB2312");
(HSSFFont.BOLDWEIGHT_BOLD);//粗体显示
((short) 12);
HSSFCellStyle style = ();
//设置颜色
(HSSFCellStyle.ALIGN_CENTER);
(HSSFColor.SKY_BLUE.index);//前景颜色
(HSSFCellStyle.SOLID_FOREGROUND);//填充方式,前色填充
//边框填充
(HSSFCellStyle.BORDER_THIN); //下边框
(HSSFCellStyle.BORDER_THIN);//左边框
(HSSFCellStyle.BORDER_THIN);//上边框
(HSSFCellStyle.BORDER_THIN);//右边框
(font);
(false);