使用Apache POI在Java Android中更改MS Excel表格的工作表名称是否可行?

35

在我的安卓应用中,使用Apache POI,有没有办法更新MS Excel文件的现有工作表名称?

我可以创建一个带有自定义名称的表格。

HSSFSheet sheet = workbook.createSheet("my custom name");

但是当我想将另一个工作表复制到此工作表时,名称也会被复制并导致我的自定义名称被覆盖。

3个回答

78
以下代码应该能解决问题:
workbook.setSheetName(workbook.getSheetIndex(sheet), "newName");

在使用Apache POI的setsheetName方法时,我遇到了以下错误:java.lang.IllegalArgumentException: Sheet index (-1) is out of range (0..3)有人能帮忙吗? - JavaDragon

4

如果您已经知道工作表索引,只需调用

workbook.setSheetName(sheet-index, "my sheet name");

sheet-index是工作表编号(从0开始)


0
有时候在使用setSheetName的时候,即使我只有一个工作表,也会出现参数异常:工作表索引(-1)超出范围(0..0)。所以我只需要这样做就可以了。
    workbook.getCTWorkbook().getSheets().getSheetArray(indexOfSheet).setName(sheetName);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接