作者:乔山办公网日期:
返回目录:excel表格制作
POI是apache提供的一个读写Excel文档的开源组件,在操作excel时常要合并单元格,合并单元格的方法是:
sheet.addMergedRegion(new CellRangeAddress(1, 1, 0, 2));
自适应列宽度:
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());
将格e799bee5baa6e79fa5e98193e4b893e5b19e336式化后的数据再次set进去,就是真正的值了。
不是这样设置属性,要直接充满单元格
宽*256
你不知道这个 256是什来么意思吧?我也不知道,说是256分之一个字符宽度,源所以宽度就是字符数X256
高度呢?20
即20分之一个点
HSSFRow.Height和HeightInPoints,这两个属性的区别在于HeightInPoints的单位是点,而Height的单位是1/20个点,所所以Height的值永远是zdHeightInPoints的20倍。
使用POI在Excel里插入图片,如何使插入的图片使用固定的大小?先介绍原有的两种方式:
一来种是指定开始和结尾单元格,然后从头画到尾,相当于平铺
还有一种就源是仅指定开始的单元格,图片的大小跟这个单元格的长宽有关,可以放大缩小固定的倍数,相当zhidao于左对齐