我一直在尝试通过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中引用其他工作表中的数据?
答案 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