10

私は現在、ピボット テーブルを含むテンプレート Excel ファイルを使用する Java アプリケーションに取り組んでいます。

テンプレート ファイルには、ピボット テーブルをシードするデータ シートもあります。このデータ シートは、Apache POI API を介して Java アプリケーションに動的にロードされます。

Excel ファイルを開くときは、ピボット テーブルを手動で更新して、データが正しく読み込まれるようにする必要があります。

手動で行う必要がないように、POI API を使用してピボット テーブルを更新する方法はありますか?

4

6 に答える 6

7

ファイルを開くたびにピボット テーブルを更新するオプションを簡単に有効にすることができます。

このマイクロソフトのドキュメントには次のように書かれています:

[ピボットテーブル オプション] ダイアログ ボックスの [データ] タブで、[ファイルを開くときにデータを更新する] チェック ボックスをオンにします。

于 2013-11-05T16:39:20.937 に答える
4

可能です。には、に設定できるPivotCacheDefinition属性があります。ワークブックが開かれると、キャッシュが更新されます。詳細はこちらrefreshOnLoadtrue

POIsetRefreshOnLoad(boolean bool)では、CTPivotCacheDefinition でブール値をパラメーターとして受け取るメソッドを呼び出すことでこれを行うことができます。

編集: Apache POI はピボット テーブルを作成する可能性を提供するようになり、ピボット テーブルはデフォルトでロード時に更新されます。クラス XSSFPivotTable

于 2013-10-23T08:52:49.267 に答える
3

この投稿では、ワークブックを開くたびに自動的に更新されるピボットテーブルのオプションをオンにできると述べています。

Excelブックのすべてのピボットテーブルをマクロで更新するにはどうすればよいですか?

うまくいけば、これは、Apache POIを使用して、ピボットテーブルの基になっているデータ行を更新または拡張した後でも当てはまります。

于 2009-12-11T09:27:13.643 に答える
1

これに対する基本的な答えはノーです。POI は、ドキュメント形式のリーダーおよびライターです。ピボット テーブルの更新は、Excel エンジンの問題です。確かに、別のアプリケーションがここで Excel エンジンの動作を複製しようとする可能性はありますが、それは実際には見苦しくなります。この種のことを行うには、Web サービスを介して Excel COM オブジェクトにアクセスするJoel の回避策を使用することをお勧めします。

于 2009-12-08T15:50:52.083 に答える