我必须从Excel文件中删除一些工作表。
我已使用以下代码从Excel文件中删除不必要的工作表。
public static boolean deleteUnnecessarySheets(Workbook workbook,
boolean authorize)
{
if(workbook != null)
{
int noOfSheets = workbook.getNumberOfSheets();
for( int sheetNo = noOfSheets - 1; sheetNo >= 0; sheetNo-- )
{
Sheet sheet = workbook.getSheetAt(sheetNo);
String sheetName = sheet.getSheetName();
if(sheetName.equalsIgnoreCase("User Defined Actions") || sheetName.equalsIgnoreCase("AUTHORIZE"))
{
if(!authorize && sheetName.equalsIgnoreCase("AUTHORIZE"))
{
workbook.removeSheetAt(sheetNo);
}
}
else
{
workbook.removeSheetAt(sheetNo);
}
}
return true;
}
return false;
}
代码成功删除了预期的工作表。但是在手动打开Excel工作表时,我收到以下错误。
如何防止这种情况发生?或者我做错了什么?