Se puede crear un archivo XLS partir de una plantilla XLS.
Pero, para ello, debe crear una copia de la plantilla cada vez que necesite utilizar la plantilla. De lo contrario, editará la plantilla original (lo que no desea).
Por lo tanto, es necesario primero obtener su archivo de plantilla:
URL url = Thread.currentThread().getContextClassLoader().getResource("templates/template.xls");
File file = new File(url.getPath());
Copia el archivo de plantilla:
try (FileOutputStream fileOutputStream = new FileOutputStream("/home/jake/fileCopiedFromTemplate.xls")) {
Files.copy(file.toPath(), fileOutputStream);
Workbook workbook = new HSSFWorkbook();
workbook.write(fileOutputStream);
}
acceso al nuevo archivo copiado:
FileInputStream inp = new FileInputStream("/home/jake/fileCopiedFromTemplate.xls");
Crear una Workbook
, para que pueda escribir en su nuevo archivo:
Workbook workbook = WorkbookFactory.create(inp);
Después de escribir en el libro:
try (FileOutputStream fileOut = new FileOutputStream("/home/jake/fileCopiedFromTemplate.xls")) {
workbook.write(fileOut);
}
Un consejo para crear un archivo de plantilla XLS es marcar la plantilla con alguna variable para usted localizar la posición que desea rellenar.Al igual que:
------------------------------------
| | Columna A | Column B |
------------------------------------
| 1 | Some description |
------------------------------------
| 2 | {person.name} | {person.age} |
------------------------------------
me trataron de la misma para cargar las macros con poi 3,13 y 3,15 , pero no funciona para mí. Quiero decir, después de guardar el archivo, faltan las macros. ¿Tiene alguna idea? –