使用Apache POI的数据透视表和来自其他工作表

时间:2015-06-30 05:49:08

标签: java apache-poi

我一直在尝试通过Apache POI创建数据透视表

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

我尝试了以下

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中引用其他工作表中的数据?

1 个答案:

答案 0 :(得分: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);

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

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