单元格合并报java.lang.IllegalArgumentException

单元格合并报java.lang.IllegalArgumentException

  • 前言
  • 一、错误展示
      • 图例展示
      • 具体错误:
      • 错误原因:
      • 解决办法:


前言

将数据以excel表格的方式下载保存,在使用CellRangeAddress进行单元格合并时报java.lang.IllegalArgumentException异常,经过排查是由于合并单元格时不能合并同一列。


一、错误展示

图例展示

单元格合并报java.lang.IllegalArgumentException_第1张图片

具体错误:

java.lang.IllegalArgumentException: Merged region A1 must contain 2 or more cells
at org.apache.poi.xssf.usermodel.XSSFSheet.addMergedRegion(XSSFSheet.java:403)
at org.apache.poi.xssf.usermodel.XSSFSheet.addMergedRegion(XSSFSheet.java:368)
at org.apache.poi.xssf.streaming.SXSSFSheet.addMergedRegion(SXSSFSheet.java:387)
at com.meritdata.cloud.tempo.ai.mine.MineResourceController.downLoadLdaTable(MineResourceController.java:565)

错误原因:

合并单元格不可以是相同的列

解决办法:

当列数大于1时才能进行合并单元格操作
具体代码:

CellRangeAddress cellAddresses = new CellRangeAddress(0, 0, 0, list.get(1).size()-1);
//合并单元格不能是相同的列,当列数大于1时才做合并
if(list.get(1).size()-1>1){
	sheet.addMergedRegion(cellAddresses);
}

你可能感兴趣的:(Java专栏,java)