如何使用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();
所以我终于想出了怎么做。您将工作簿变量与函数.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();