使用Apache POI刷新数据透视表

B J*_*min 7 java apache excel pivot-table apache-poi

我目前正在开发一个Java应用程序,它使用包含数据透视表的模板excel文件.

模板文件还有一个数据表,用于播放数据透视表.此数据表通过Apache POI api在Java应用程序中动态加载.

当我打开excel文件时,我必须手动刷新数据透视表以正确加载数据.

有没有办法用POI api刷新Pivot表,所以我不必手动执行它?

Fra*_*red 6

您可以简单地激活一个选项,该选项将在每次打开文件时刷新数据透视表.

这篇Microsoft文档说:

在"数据透视表选项"对话框的"数据"选项卡上,选中"打开文件时刷新数据"复选框.

  • +1!这个答案不仅提供了解决此问题的方法,而且向我展示了一个非常有用的Excel选项,即使在不使用Apache POI时也是如此:)就我而言,Apache POI不会覆盖它!我不会通过POI创建或操纵数据透视表。我只更新数据透视表所引用的数据表。 (2认同)

Yis*_*hai 1

对此的基本答案是否定的。POI 是一个文档格式阅读器和编写器。更新数据透视表是 Excel 引擎问题。当然,另一个应用程序可以尝试在此处复制 Excel 引擎的行为,但这确实会变得很难看。我建议使用Joel 的解决方法,即通过 Web 服务访问 excel COM 对象来完成此类任务。