как переименовать имя в excel с помощью apache poi - PullRequest
0 голосов
/ 02 сентября 2018

Как мне изменить ссылку на имя, которое относится к набору ячеек, с помощью Apache poi? Я уже посмотрел на API и нашел несколько функций, таких как getNameName(), я не уверен, должен ли я использовать это или как я должен его использовать.

Предположим, у меня есть имя "Имена студентов", которое относится к ячейкам $ A $ 2: $ A $ 10, я хочу изменить в java это имя, чтобы ссылаться на ячейки $ A $ 2: $ A $ 20. Кто-нибудь знает, как это сделать?

edit: я посмотрел документацию и попытался придумать пример кода, но даже это не работает.

код:

 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();

1 Ответ

0 голосов
/ 02 сентября 2018

так что я наконец-то понял, как это сделать. Вы используете переменную книги с функцией .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();
...