如何使用apache poi重命名excel中的名称
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用apache poi重命名excel中的名称相关的知识,希望对你有一定的参考价值。
如何使用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();
以上是关于如何使用apache poi重命名excel中的名称的主要内容,如果未能解决你的问题,请参考以下文章
多个线程(并行测试用例)如何使用Java(Selenium)设置中的Apache POI同时访问同一个excel文件?
如何使用JAVA中的apache POI在Excel中设置/取消设置列过滤器的值?