Vous pouvez créer un fichier XLS à partir d'un modèle XLS. Mais, pour ce faire, vous devez créer une copie du modèle chaque fois que vous avez besoin d'utiliser le gabarit. Sinon, vous allez modifier le modèle d'origine (ce que vous ne voulez pas).
Donc, vous devez d'abord obtenir votre fichier de modèle:
URL url = Thread.currentThread().getContextClassLoader().getResource("templates/template.xls");
File file = new File(url.getPath());
Copiez le fichier modèle:
try (FileOutputStream fileOutputStream = new FileOutputStream("/home/jake/fileCopiedFromTemplate.xls")) {
Files.copy(file.toPath(), fileOutputStream);
Workbook workbook = new HSSFWorkbook();
workbook.write(fileOutputStream);
}
Accédez au nouveau fichier copié:
FileInputStream inp = new FileInputStream("/home/jake/fileCopiedFromTemplate.xls");
Créer une Workbook
, afin que vous puissiez écrire dans votre nouveau fichier:
Workbook workbook = WorkbookFactory.create(inp);
Après écriture dans votre classeur:
try (FileOutputStream fileOut = new FileOutputStream("/home/jake/fileCopiedFromTemplate.xls")) {
workbook.write(fileOut);
}
Une astuce pour créer un fichier modèle XLS est marquer le modèle avec une variable pour vous localiser la position que vous souhaitez remplir.Comme:
------------------------------------
| | Columna A | Column B |
------------------------------------
| 1 | Some description |
------------------------------------
| 2 | {person.name} | {person.age} |
------------------------------------
J'ai essayé la même chose pour charger des macros avec poi 3.13 et 3.15 mais ça ne marche pas pour moi. Je veux dire après avoir enregistré le fichier, les macros sont manquantes. Avez-vous une idée? –