我正在使用workbook.removeSheetAt()从工作簿中删除特定的工作表。但是,工作簿在将其写入磁盘后包含一个名为“Sheet3”的新工作表。是什么赋予了?我没有在我的代码中的任何地方创建这个新工作表。注意:我正在使用XSSFWorkbook和所有其他XSSF内容。使用Apache Poi从excel工作簿中删除工作表后,工作表仍然存在?
一些更多信息:这里是输出xlsx中的workbook.xml片段。我正在删除索引= 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>
记住,你不能有没有工作簿的工作簿... –