使用Java Apache POI删除工作表后,Excel将在保护模式下打开

时间:2018-05-29 13:18:40

标签: java excel apache apache-poi protected-mode

我必须从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工作表时,我收到以下错误。

enter image description here

enter image description here

如何防止这种情况发生?或者我做错了什么?

编辑:点击'点击了解更多详情' enter image description here

0 个答案:

没有答案