Excel открывается в защищенном режиме после удаления листов с помощью Java Apache POI - PullRequest
0 голосов
/ 29 мая 2018

Мне нужно удалить некоторые листы из файла 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

...