Java POI PivotTable set rows collapsed by default





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}







0















I create PivotTable using Java POI XSSFSheet createPivotTable.



How I can configure output file with collapsed items by default?










share|improve this question























  • stackoverflow.com/questions/52058700/…

    – Axel Richter
    Jan 3 at 15:33


















0















I create PivotTable using Java POI XSSFSheet createPivotTable.



How I can configure output file with collapsed items by default?










share|improve this question























  • stackoverflow.com/questions/52058700/…

    – Axel Richter
    Jan 3 at 15:33














0












0








0








I create PivotTable using Java POI XSSFSheet createPivotTable.



How I can configure output file with collapsed items by default?










share|improve this question














I create PivotTable using Java POI XSSFSheet createPivotTable.



How I can configure output file with collapsed items by default?







java excel apache-poi pivot-table






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Jan 3 at 15:07









Alx LarkAlx Lark

5561420




5561420













  • stackoverflow.com/questions/52058700/…

    – Axel Richter
    Jan 3 at 15:33



















  • stackoverflow.com/questions/52058700/…

    – Axel Richter
    Jan 3 at 15:33

















stackoverflow.com/questions/52058700/…

– Axel Richter
Jan 3 at 15:33





stackoverflow.com/questions/52058700/…

– Axel Richter
Jan 3 at 15:33












1 Answer
1






active

oldest

votes


















0














This method will collapse rows on provided level



void collapseRows(Integer level) {
System.out.println("Collapse Level: " + level);

XSSFSheet dataSheet = (XSSFSheet) pivotTable.getDataSheet();
Set<String> colAValues = new LinkedHashSet<String>();

for (Integer r = 1; r < dataSheet.getLastRowNum() + 1; r++) {
Row row = dataSheet.getRow(r);
if (row != null) {
Cell cell = row.getCell(level);
if (cell != null) {
colAValues.add(cell.toString());
}
}
}

List<org.openxmlformats.schemas.spreadsheetml.x2006.main.CTItem> itemList =
pivotTable.getCTPivotTableDefinition().getPivotFields().getPivotFieldArray(level).getItems().getItemList();
Integer i = 0;
org.openxmlformats.schemas.spreadsheetml.x2006.main.CTItem item = null;

for (String value : colAValues) {
item = itemList.get(i);
item.unsetT();
item.setX(i++);
pivotTable.getPivotCacheDefinition().getCTPivotCacheDefinition().getCacheFields()
.getCacheFieldArray(level).getSharedItems().addNewS().setV(value);
item.setSd(false); // set False will collapse child item
}

while (i < itemList.size()) {
item = itemList.get(i++);
item.setSd(false); // set False will collapse row
}
}


Also you will need add dependency to project.xml file



<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>ooxml-schemas</artifactId>
<version>1.3</version>
</dependency>





share|improve this answer
























    Your Answer






    StackExchange.ifUsing("editor", function () {
    StackExchange.using("externalEditor", function () {
    StackExchange.using("snippets", function () {
    StackExchange.snippets.init();
    });
    });
    }, "code-snippets");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "1"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54024917%2fjava-poi-pivottable-set-rows-collapsed-by-default%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    0














    This method will collapse rows on provided level



    void collapseRows(Integer level) {
    System.out.println("Collapse Level: " + level);

    XSSFSheet dataSheet = (XSSFSheet) pivotTable.getDataSheet();
    Set<String> colAValues = new LinkedHashSet<String>();

    for (Integer r = 1; r < dataSheet.getLastRowNum() + 1; r++) {
    Row row = dataSheet.getRow(r);
    if (row != null) {
    Cell cell = row.getCell(level);
    if (cell != null) {
    colAValues.add(cell.toString());
    }
    }
    }

    List<org.openxmlformats.schemas.spreadsheetml.x2006.main.CTItem> itemList =
    pivotTable.getCTPivotTableDefinition().getPivotFields().getPivotFieldArray(level).getItems().getItemList();
    Integer i = 0;
    org.openxmlformats.schemas.spreadsheetml.x2006.main.CTItem item = null;

    for (String value : colAValues) {
    item = itemList.get(i);
    item.unsetT();
    item.setX(i++);
    pivotTable.getPivotCacheDefinition().getCTPivotCacheDefinition().getCacheFields()
    .getCacheFieldArray(level).getSharedItems().addNewS().setV(value);
    item.setSd(false); // set False will collapse child item
    }

    while (i < itemList.size()) {
    item = itemList.get(i++);
    item.setSd(false); // set False will collapse row
    }
    }


    Also you will need add dependency to project.xml file



    <dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>ooxml-schemas</artifactId>
    <version>1.3</version>
    </dependency>





    share|improve this answer




























      0














      This method will collapse rows on provided level



      void collapseRows(Integer level) {
      System.out.println("Collapse Level: " + level);

      XSSFSheet dataSheet = (XSSFSheet) pivotTable.getDataSheet();
      Set<String> colAValues = new LinkedHashSet<String>();

      for (Integer r = 1; r < dataSheet.getLastRowNum() + 1; r++) {
      Row row = dataSheet.getRow(r);
      if (row != null) {
      Cell cell = row.getCell(level);
      if (cell != null) {
      colAValues.add(cell.toString());
      }
      }
      }

      List<org.openxmlformats.schemas.spreadsheetml.x2006.main.CTItem> itemList =
      pivotTable.getCTPivotTableDefinition().getPivotFields().getPivotFieldArray(level).getItems().getItemList();
      Integer i = 0;
      org.openxmlformats.schemas.spreadsheetml.x2006.main.CTItem item = null;

      for (String value : colAValues) {
      item = itemList.get(i);
      item.unsetT();
      item.setX(i++);
      pivotTable.getPivotCacheDefinition().getCTPivotCacheDefinition().getCacheFields()
      .getCacheFieldArray(level).getSharedItems().addNewS().setV(value);
      item.setSd(false); // set False will collapse child item
      }

      while (i < itemList.size()) {
      item = itemList.get(i++);
      item.setSd(false); // set False will collapse row
      }
      }


      Also you will need add dependency to project.xml file



      <dependency>
      <groupId>org.apache.poi</groupId>
      <artifactId>ooxml-schemas</artifactId>
      <version>1.3</version>
      </dependency>





      share|improve this answer


























        0












        0








        0







        This method will collapse rows on provided level



        void collapseRows(Integer level) {
        System.out.println("Collapse Level: " + level);

        XSSFSheet dataSheet = (XSSFSheet) pivotTable.getDataSheet();
        Set<String> colAValues = new LinkedHashSet<String>();

        for (Integer r = 1; r < dataSheet.getLastRowNum() + 1; r++) {
        Row row = dataSheet.getRow(r);
        if (row != null) {
        Cell cell = row.getCell(level);
        if (cell != null) {
        colAValues.add(cell.toString());
        }
        }
        }

        List<org.openxmlformats.schemas.spreadsheetml.x2006.main.CTItem> itemList =
        pivotTable.getCTPivotTableDefinition().getPivotFields().getPivotFieldArray(level).getItems().getItemList();
        Integer i = 0;
        org.openxmlformats.schemas.spreadsheetml.x2006.main.CTItem item = null;

        for (String value : colAValues) {
        item = itemList.get(i);
        item.unsetT();
        item.setX(i++);
        pivotTable.getPivotCacheDefinition().getCTPivotCacheDefinition().getCacheFields()
        .getCacheFieldArray(level).getSharedItems().addNewS().setV(value);
        item.setSd(false); // set False will collapse child item
        }

        while (i < itemList.size()) {
        item = itemList.get(i++);
        item.setSd(false); // set False will collapse row
        }
        }


        Also you will need add dependency to project.xml file



        <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>ooxml-schemas</artifactId>
        <version>1.3</version>
        </dependency>





        share|improve this answer













        This method will collapse rows on provided level



        void collapseRows(Integer level) {
        System.out.println("Collapse Level: " + level);

        XSSFSheet dataSheet = (XSSFSheet) pivotTable.getDataSheet();
        Set<String> colAValues = new LinkedHashSet<String>();

        for (Integer r = 1; r < dataSheet.getLastRowNum() + 1; r++) {
        Row row = dataSheet.getRow(r);
        if (row != null) {
        Cell cell = row.getCell(level);
        if (cell != null) {
        colAValues.add(cell.toString());
        }
        }
        }

        List<org.openxmlformats.schemas.spreadsheetml.x2006.main.CTItem> itemList =
        pivotTable.getCTPivotTableDefinition().getPivotFields().getPivotFieldArray(level).getItems().getItemList();
        Integer i = 0;
        org.openxmlformats.schemas.spreadsheetml.x2006.main.CTItem item = null;

        for (String value : colAValues) {
        item = itemList.get(i);
        item.unsetT();
        item.setX(i++);
        pivotTable.getPivotCacheDefinition().getCTPivotCacheDefinition().getCacheFields()
        .getCacheFieldArray(level).getSharedItems().addNewS().setV(value);
        item.setSd(false); // set False will collapse child item
        }

        while (i < itemList.size()) {
        item = itemList.get(i++);
        item.setSd(false); // set False will collapse row
        }
        }


        Also you will need add dependency to project.xml file



        <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>ooxml-schemas</artifactId>
        <version>1.3</version>
        </dependency>






        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Jan 14 at 13:17









        Alx LarkAlx Lark

        5561420




        5561420
































            draft saved

            draft discarded




















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54024917%2fjava-poi-pivottable-set-rows-collapsed-by-default%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            MongoDB - Not Authorized To Execute Command

            in spring boot 2.1 many test slices are not allowed anymore due to multiple @BootstrapWith

            How to fix TextFormField cause rebuild widget in Flutter