Hutool⼯具使⽤Excel部分常见问题总结
1. 当写完⾏数据之后想在⾏后⾯继续增加数据有时会报错该⾏已经写⼊硬盘⽆法再访问,此时设置⽆限制访问Excel表格即可
SXSSFSheet sheet =(SXSSFSheet) Sheet();
sheet.setRandomAccessWindowSize(-1);//⽆限制访问sheet
2. Excel的宽度⾃适应代码(⼤量数据时以下代码会耗时较久,建议慎⽤)
writer.autoSizeColumnAll();//⾃适应宽度
3. ⾃定义单元格格式
CellStyle defaultCellStyle = Workbook());
defaultCellStyle.setAlignment(HorizontalAlignment.RIGHT);//对齐⽅式
DataFormat format = Workbook().createDataFormat();
defaultCellStyle.setDataFormat((Format("0.00")));//格式化两位⼩数(数据为BigDecimal类型)
dateCellStyle.setDataFormat((Format("yyyy-mm-dd hh:mm:ss")));//⾃定义时间格式(数据为Date类型)
writer.setStyle(dateCellStyle, i, j);//以坐标形式指定写⼊某个单元格的格式
4. 解决⽣成的Excel数字部分⽆法进⾏数学运算(求和之类的)的问题
CellStyle fourCellStyle = Workbook());
fourCellStyle.setAlignment(HorizontalAlignment.RIGHT);
fourCellStyle.setDataFormat((Format("0.0000")));//格式化4位⼩数
for(int j =1; j <= dataCount; j++){
int i =5;
//转换单位格值为数字类型
Cell cell = Cell(i,j);
if(cell !=null&& CellType()== CellType.STRING){bigdecimal格式化两位小数
if(StringUtils.StringCellValue())){
writer.writeCellValue(i,j,new StringCellValue()));
}
}
writer.setStyle(fourCellStyle, i, j);
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。