插入超过120万条记录时,我遇到了异常。在一个工作表中成功插入了1,047,000条记录,当创建新的工作表来插入其余记录时,我遇到了以下错误:
java.lang.IllegalArgumentException: The workbook already contains a sheet of this name
我使用以下条件来创建新的工作表:
if(rowCount>1047000){
wsSheet = createSheet(sheetName, xssfWorkbook);
createHeader(wsSheet, columsnList, xssfWorkbook, null,listResult.isNameFieldRequired());
rowCount = 1;
}
厌烦了不断更改代码中的 sheetName
吗?
wsSheet = createSheet(sheetName, xssfWorkbook) as sheetName+"1"
但仍然是相同的异常。
sheetName
有多长?我认为它会在特定长度处被截断。另外,尝试一些随机的工作表名称,比如sheetName = sheetName + System.currentTimeMillis()
,而不是sheetName+"1"
。 - Master PoworkBook.getSheetIndex(sheetName)
检查现有表。如果返回的索引不等于-1,请检查您的表名称逻辑。 - Bor Laze