Импорт данных из внешней рабочей книги (метод кросс-рабочей книги Apache POI) - PullRequest
0 голосов
/ 26 августа 2018

Я работаю над проектом Java, который основан на Apache POI. В проекте мне нужно импортировать некоторые данные из внешней рабочей книги. Я создал пользовательский интерфейс с JFilechooser для выбора двух файлов. Пути к файлам хранятся в виде строк для использования в формуле. Интерфейс пользователя - это графическая оболочка моей программы.

String file1 = UI.filename1;
String file1 = UI.filename2;
String avr = UI.filename3;

Файл1 и 2 похожи на C:\Users\Desktop\Sheet.xlsx

avr это что-то вроде C:\Users\Desktop\[Sheet.xlsx]

FileInputStream fis1= new FileInputStream (file1);
FileInputStream fis2= new FileInputStream (file2);
XSSFWorkbook wb = new XSSFWorkbook(fis1);
XSSFSheet sheet7 =wb.createSheet("Average");
XSSFWorkbook wb2 = new XSSFWorkbook(fis2);
XSSFSheet sheet22= wb2.getSheetAt(0);
int  x;
            for (x=0; x <= sheet22.getLastRowNum(); x++)

    {
    sheet7.createRow(x).createCell(0).setCellFormula("'avr Average_Graph'!A" +(x)+" ");
    sheet7.getRow(x).createCell(1).setCellFormula("'avr Average_Graph'!B" +(x)+" ");
}

Когда я запускаю программу, цикл for работает правильно и правильно записывает данные в рабочую книгу. Но когда я открываю файл excel, он показывает следующий результат.

enter image description here

На веб-сайте POI формула отображается как .setCellFormula("'C:\Users\Desktop\[Sheet.xlsx]Average_Graph'!A1") https://poi.apache.org/components/spreadsheet/eval.html Строка должна заменить путь формулы. Названия листов правильные на внешней книге. Но это не даст мне ценности. Пожалуйста, помогите.

...