2014-07-03 18 views
12

Nie/Minimal dokumentacji dotyczącej Apache POI dla tabel przestawnych na stronie Apache ma mi to napisać.Odśwież tabelę przestawną za pomocą Apache POI

Chcę odświeżyć tabelę przestawną w Książce pracy przy użyciu punktów Apache POI.

Proszę dać mi znać, gdzie mogę uzyskać odpowiednią dokumentację i przykłady dotyczące tego.

+1

Możesz odnieść się do odpowiedzi na następujące pytanie, które jest podobne - http: // stackoverflow.com/questions/1010673/refresh-pivot-table-with-apache-poi – codeMan

+3

Powyższe pytanie zawiera odpowiedzi, które nie są związane z Apache poi. – pavi

+0

Apache POI nie może wiele tutaj zrobić. Długa historia i obejście na http://www.joelonsoftware.com/items/2008/02/19.html. – Jayan

Odpowiedz

1

Kod linkMan zawiera porady, które wyglądają dość specyficznie dla Apache POI & Excel. Zobaczysz, że nie ma wielkiej dokumentacja bez powodu tutaj (nie jest obsługiwany): http://poi.apache.org/spreadsheet/limitations.html

Cytując samotności odpowiedź w codeMans linku verbatim:

To jest możliwe. W PivotCacheDefinition istnieje atrybut refreshOnLoad, który można ustawić na true. Pamięć podręczna jest następnie odświeżana po otwarciu skoroszytu. Więcej informacji tutaj.

> W POI można to zrobić poprzez wywołanie setRefreshOnLoad metodą (logiczna Bool), która przyjmuje wartość logiczną jako parametr, na CTPivotCacheDefinition

Jeśli trzeba odświeżyć tabelę przestawną przed plik jest otwarty, (na przykład, aby następnie wykorzystać obliczone dane w dalszych obliczeniach, a POI to zapisać), wtedy nie jestem pewien, czy byłoby to w ogóle możliwe z UM-em i potencjalnie zahaczam o to, aby wypromować za pomocą rozwiązania COM. być drogą.

1

Prosimy o przestrzeganie poniższych wskazówek.

  1. Podaj przybliżone dane dla tabeli przestawnej w pliku MyFileName.xlsx.
  2. Utwórz formułę zakresu dynamicznego przez OFFSET() lub Named Table jako dane źródłowe tabeli przestawnej i narysuj tabelę przestawną.
  3. wystarczy kliknąć prawym przyciskiem tabeli przestawnej i wybrać

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

  4. otworzyć plik MyFileName.xlsx i wypełnić dane.

To wszystko ... przy każdym otwarciu skoroszytu zostanie odświeżona do aktualnych danych. :-)

Uwaga: Nie zadziała to podczas tworzenia tabeli przestawnej przez punkt POI.

Powiązane problemy