需求
导出一些数据,需合并单元格,自适应列宽。
关于poi设置
我使用的poi3.9版本的。
// - poi
compile group: 'org.apache.poi', name: 'poi', version: '3.9'
compile group: 'org.apache.poi', name: 'poi-ooxml', version: '3.9'
自适应列宽
// 注:CustomColumn自己定义的实体
private void autoSizeColumn(HSSFSheet sheet, CustomColumn column) {
// column.getColumn:指列数,目前数据数据第几列;
// true:指有合并单元格的也支持自适应列宽,自动默认是false
sheet.autoSizeColumn(column.getColumn(), true);
sheet.setColumnWidth(column.getColumn(),sheet.getColumnWidth(column.getColumn()) * 12 / 10);
}
设置行高
// 设置行高
HSSFRow row;
row.setHeightInPoints(30);
合并单元格
// 合并单元格
HSSFSheet sheet = null;
CellRangeAddress cra = new CellRangeAddress(column.getFirstRow(),column.getLastRow(),column.getFirstCol(), column.getLastCol());
sheet.addMergedRegion(cra);