2014-07-03 5 views
12

No/Minimal Dokumentation in Bezug auf Apache POI für Pivot-Tabellen in der Apache-Site hat mich dazu gebracht, dies zu schreiben.Refresh Pivot-Tabelle mit Apache POI

Ich möchte eine Pivot-Tabelle in einem Arbeitsbuch mit Apache POI aktualisieren.

Bitte lassen Sie mich wissen, wo ich die richtige Dokumentation und Beispiele dazu erhalten kann.

+1

Sie können auf die Antworten auf die folgende Frage verweisen, die ähnlich ist - http: // stackoverflow.com/questions/1010673/refresh-pivot-tabelle-mit-apache-poi – codeMan

+3

Die obige Frage hat Antworten, die nicht mit Apache poi verwandt sind. – pavi

+0

Apache POI wird hier nicht viel erreichen können. Lange Geschichte und Workaround unter http://www.joelonsoftware.com/items/2008/02/19.html. – Jayan

Antwort

1

Der Link codeMan verweist auf einige Ratschläge, die ziemlich spezifisch für Apache POI & Excel aussieht. Sie werden sehen, dass es keine große Dokumentation ist hier aus einem Grund (nicht unterstützt wird): http://poi.apache.org/spreadsheet/limitations.html

Einsamkeiten zu zitieren Antwort in codeMans Link wörtlich:

Es ist möglich. In der PivotCacheDefinition gibt es ein Attribut refreshOnLoad, das auf true gesetzt werden kann. Der Cache wird dann beim Öffnen der Arbeitsmappe aktualisiert. Mehr Informationen hier.

> In POI dies kann durch den Aufruf der Methode setRefreshOnLoad (boolean Bool) durchgeführt werden, die eine boolean als Parameter übernimmt, auf einem CTPivotCacheDefinition

Wenn Sie die Pivot-Tabelle vor dem auffrischen müssen Datei wird geöffnet, (zum Beispiel, um dann die pivotable berechneten Daten in weiteren Berechnungen zu verwenden und POI dies schreiben zu lassen), dann bin ich mir nicht sicher, ob dies mit POI überhaupt möglich wäre, und möglicherweise eine Verbindung zu Excel über eine COM-Lösung herstellen könnte sei der Weg zu gehen.

1

Bitte folgen Sie den folgenden, die ich getan habe.

  1. Füllen Sie grobe Daten für die Pivot-Tabelle in Ihrer MyFileName.xlsx-Datei.
  2. Erstellen Sie eine Dynamic Range-Formel über OFFSET() oder Named Table als Quelldaten für Pivot-Tabelle und Pivot-Tabelle zeichnen.
  3. einfach mit der rechten Pivot-Tabelle klicken und

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

  4. Öffnen Sie eine MyFileName.xlsx Datei auswählen und die Daten ausfüllen.

Das ist alles ... , wenn Sie Arbeitsmappe öffnen wird es auf die aktuellen Daten aktualisiert. :-)

Hinweis: Dies funktioniert nicht, wenn Sie Pivot-Tabelle durch POI erstellen.