使用Apache POI刷新数据透视表

没有/关于Apache网站的Apache POI for Pivot表的最小文档让我写这个。

我想使用Apache POI刷新工作簿中的数据透视表。

请让我知道我在哪里可以得到正确的文件和例子。

链接代码Man引用了一些对于Apache POI和Excel非常特别的build议。 你会发现这里没有很好的文档(不支持): http : //poi.apache.org/spreadsheet/limitations.html

在代码中引用Solitudes答案,逐字链接:

有可能的。 在PivotCacheDefinition中,有一个可以设置为true的属性refreshOnLoad。 当打开工作簿时,刷新caching。 更多信息在这里。

>在POI中,这可以通过调用方法setRefreshOnLoad(boolean bool)来完成,该方法将一个布尔值作为参数,对CTPivotCacheDefinition

如果你需要在打开文件之前刷新数据透视表(例如,然后在进一步的计算中使用透视表计算的数据,并有POI写这个),那么我不知道这是完全可能的POI,可能会使用COM解决scheme来实现卓越。

除了限制之外 ,你可以检查有关Package org.apache.poi.hssf.record.pivottable

虽然如果我必须这样做,我会手动创build表/图表,并将更新图表使用Apache poi,因为我已经在这里完成

请遵循我所做的下列事项。

  1. 在您的MyFileName.xlsx文件中填充数据透视表的粗略数据。
  2. 通过OFFSET()Named Table创build一个dynamic范围公式作为数据透视表的源数据并绘制数据透视表。
  3. 只需右键点击数据透视表,然后select

    pivotTable Options->Data-> Check Refresh Data when opening File

  4. 打开一个MyFileName.xlsx文件并填写数据。

这就是所有…当你打开工作簿时,它将刷新到当前的数据。 🙂

注意:通过POI创build数据透视表时,这不起作用。