2013-12-16 36 views
1

我需要从工作簿中删除第一个工作表(工作表数量> 1)。POI错误在删除工作表后打开excel

这是我的代码:

inputStreamExcel = new FileInputStream(path); 
wrkbook = new XSSFWorkbook(inputStreamExcel); 

wrkbook .removeSheetAt(0); 
outputStreamExcel = new FileOutputStream(path);    
wrkbook.write(outputStreamExcel);  
outputStreamExcel .flush(); 
outputStreamExcel .close(); 

我没有得到任何异常。 但是当我尝试打开Excel文件,我得到一个错误:

excel found unreadable content...

回答

1

再次尝试设置活动工作表删除的第一张后:

... 
wrkbook.removeSheetAt(0); 
wrkbook.setActiveSheet(0); 
... 

这应该解决的问题。

+0

我认为它解决了它,我将在接受此答案之前运行更多测试场景。谢谢。 – yuris

1

如果Excel没有正确保存, 也许你可能要检查,同时节省会出现此错误,current selected/active cell没有指向为空行或active sheet不为空

+0

活动单元格是什么意思? – yuris

+1

活动单元格表示当前选中的单元格。当前活动表单需要在修改之前/之后进行更改(无论是否有效)删除当前表单 – gaurav5430