2010-07-15 13 views
1

Je suis récemment passé de POI 3.1 (HSSF) à POI 3.6 (XSSF) et j'ai rencontré un problème.Comment groupColumn dans des fichiers .xlsx en utilisant POI 3.6?

Le problème est que le groupColumn ne fonctionne plus comme prévu!

Est-ce que quelqu'un sait pourquoi le regroupement de colonnes fonctionne correctement AVANT d'écrire dans les cellules de la feuille de calcul et ne fonctionne pas bien APRÈS avoir écrit la feuille de calcul?

Existe-t-il un moyen de grouper des colonnes sur un fichier xlsx après en écrivant des données dans les cellules de la colonne?

Merci beaucoup,
Gabriela

Répondre

2

J'ai eu le même problème. Le code suivant fonctionne très bien pour mes besoins:

 for (int index = groupingRange.getFirstColumn() + 1; index <= groupingRange.getLastColumn() + 1; index++) { 
     CTCols[] colsArray = targetSheet.getCTWorksheet().getColsArray(); 

     colSearch: for (int i = 0; i < colsArray.length; i++) { 
      CTCol[] colArray = colsArray[i].getColArray(); 
      for (int j = 0; j < colArray.length; j++) { 
       if (index == colArray[j].getMin()) { 
       colArray[j].setOutlineLevel((short)(colArray[j].getOutlineLevel() + 1)); 
       colArray[j].setCollapsed(true); 
       colArray[j].setHidden(true); 

       index = (int)colArray[j].getMax(); 
       break colSearch; 
       } 
      } 
     } 
    } 

Meilleur Olaf