如何使用apache poi重命名excel中的名称

问题描述 投票:0回答:1

如何使用Apache poi更改名称引用(引用一组单元格)?我已经查看了API并找到了一些函数,例如getNameName(),我不确定我是否必须使用它或我应该如何使用它。

假设我有一个名称“学生姓名”,指的是单元格$ A $ 2:$ A $ 10,我想在java中更改此名称以引用单元格$ A $ 2:$ A $ 20。有谁知道如何做到这一点?

编辑:我查看了文档,并尝试提供示例代码,但即使这样也行不通。

码:

 InputStream inp = new FileInputStream("test.xlsx");
        Workbook wb = WorkbookFactory.create(inp);
        Sheet sheet = wb.getSheetAt(0);
        Name name;
        name = wb.createName();
        name = name.getNameName("NameOFStudents");
        name.setRefersToFormula("=Sheet1!$A$1:$A$20");
        FileOutputStream fileout = new FileOutputStream("test2..xlsx");
        wb.write(fileout);
        fileout.close();
java apache-poi
1个回答
0
投票

所以我终于想出了怎么做。您将工作簿变量与函数.getName()一起使用以获取所需的名称并将其分配给Name变量,然后使用.setRefersToFormula()更改引用

码:

        InputStream inp = new FileInputStream("test.xlsx");
        Workbook wb = WorkbookFactory.create(inp);
        Sheet sheet = wb.getSheetAt(0);
        Name name;
        name = wb.getName("NameOFStudents");
        name.setRefersToFormula("Sheet1!$A$1:$A$20");
        FileOutputStream fileout = new FileOutputStream("test2..xlsx");
        wb.write(fileout);
        fileout.close();
© www.soinside.com 2019 - 2024. All rights reserved.