Я использую workbook.removeSheetAt () для удаления определенного именованного листа из книги. Однако после записи на диск рабочая книга содержит новый лист «Sheet3». Что дает? Я не создаю этот новый лист нигде в моем коде. Примечание: я использую XSSFWorkbook и все другие вещи XSSF.
Еще немного информации: Вот фрагмент из workbook.xml внутри выходного файла xlsx. Я удаляю лист с индексом = 2, якобы sheetId = 3. В шаблонной книге, с которой я начинаю, всего четыре листа.
<sheets>
<sheet r:id="rId1" sheetId="1" name="Sheet1"/>
<sheet r:id="rId2" sheetId="2" name="Params" state="hidden"/>
<sheet r:id="rId4" sheetId="4" name="Warnings" state="hidden"/>
<sheet r:id="rId3" sheetId="5" name="Sheet3"/>
</sheets>