Bonjour,
Voici on bout de code java qui utilise l'API POI APACHE :
L'idée est de supprimer un onglet d'une feuille Excel pour pouvoir le recrée ensuite avec le même nom.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 // Si l'onglet existe le supprimer if (l_onglet != null) { // Recuperation du n° d'ordre de l'onglet, pour ensuite supprimer l'onglet l_numeroOrdreOnglet = e_classeur.getSheetIndex(l_onglet); ReferentielDesFlux.aJournal.info("Le n° d'ordre de l'onglet initial qui va être supprime est : " + l_numeroOrdreOnglet); e_classeur.removeSheetAt(l_numeroOrdreOnglet); ReferentielDesFlux.aJournal.info("L'onglet initial : " + e_nomDOnglet + " a ete supprime"); } // Puis recreer l'onglet l_onglet = e_classeur.createSheet(e_nomDOnglet);
ça fonctionne très bien, mais malheureusement je me suis rendu compte qu'a chaque fois que ce bout de code est executé, l'onglet originel est supprimé en apparence, MAIS il reste un reliquat.
En effet lorsque j'ouvre le projet VBA du Fichier Excel cible j'ai :
Il y a 3 feuilles : feuil1, feuil2 et feuil3 qui sont de feuilles du style ThisWorkBook, qui anciennement correspondant à TB_SyntheseFluxdescendant, TB_SyntheseFluxMontant et TB_SyntheseMoniteurDeFlux).
Le projet VBA du Fichier Excel Originel est :
On voit bien ici que les feuilles "virtuelles" qui ressemble à ThisWorkBook n'existe pas.
Est ce que quelqu'un aurait une idée de la manière dont il faut que j'utilise l'opération : org.apache.poi.xssf.usermodel.XSSFWorkbook.removeSheetAt ?
Bien à vous.
Partager