Можно ли подключить XSSFPivotTable к внешней таблице данных (расположенной во внешней книге) через Apache POI? - PullRequest
0 голосов
/ 09 июля 2020

Я попробовал приведенный ниже код, но он не работает:

public static void addExternalPivot (String pathSource, String pathOutput, String NameOfTableSource) throws IOException{
    
    //source wb
    FileInputStream fis = new FileInputStream(pathSource);
    XSSFWorkbook wbSrc = new XSSFWorkbook(fis);

    //output wb
    FileOutputStream fos = new FileOutputStream(pathOutput);
    XSSFWorkbook wb = new MyXSSFWorkbook();

    //create sheet for pivot
    XSSFSheet sheetOut = wb.createSheet("pivot");

    //get pivot from source
    XSSFPivotTable pSrc = wbSrc.getPivotTables().get(0);

    //parameters to  create pivot
    AreaReference source = wbSrc.getTable(NameOfTableSource).getArea();
    CellReference position = new CellReference("A5");
    Sheet dataSheet = pSrc.getDataSheet();

    //create pivot
    XSSFPivotTable pivotResult = sheetOut.createPivotTable(source, position, dataSheet);

    //save and close
    fis.close();
    wbSrc.close();

    wb.write(fos);
    fos.close();
    wb.close();
    
}

Я могу скопировать таблицу непосредственно в выходной файл wb и создать сводную таблицу, но в моем случае это не работает. Где мне нужно обновить 250 сводок в разных файлах.

...