使用Apache POI的数据透视表和其他工作表的参考

KK9*_*K99 2 java apache-poi

我一直在尝试通过Apache POI创建Pivot表

我使用的数据在另一张表中,而我正在尝试为Pivot表创建新表

我尝试了以下内容

XSSFSheet sheet = (XSSFSheet) wb.createSheet("license_pivot_table"); XSSFPivotTable pivotTable = sheet.createPivotTable(new AreaReference("license_usage!D:E"), new CellReference("A1"));

我的数据在Sheet中名为"license_usage",在D&E列中,并希望将数据透视表放在license_pivot_table表的A1中

这最终会出现空指针异常

如何在Apache POI中引用其他工作表中的数据?

小智 5

您需要将包含数据范围的工作表的引用作为createPivotTable调用的第三个参数传递.

就像是

XSSFSheet license_usage = wb.getSheet("license_usage");
XSSFSheet sheet = (XSSFSheet) wb.createSheet("license_pivot_table");
XSSFPivotTable pivotTable = sheet.createPivotTable(new AreaReference("license_usage!D:E"), new CellReference("A1"),license_usage);
Run Code Online (Sandbox Code Playgroud)

这篇优秀的文章证明了这一点.(所有归功于作者 - 我只是传递我在那里学到的东西)

http://thinktibits.blogspot.co.uk/2014/08/Create-Pivot-Table-Java-Apache-POI-Example.html