Я нашел следующий код для создания листа excel из существующего шаблона с форматами, добавления в него данных и сохранения его в новый файл
POIFSFileSystem fs = new POIFSFileSystem(
new FileInputStream("template.xls"));
HSSFWorkbook wb = new HSSFWorkbook(fs, true);
Will load an xls, preserving its structure (macros included). You can then modify it,
HSSFSheet sheet1 = wb.getSheet("Data"); ...
и затем сохранения его.
FileOutputStream fileOut = new FileOutputStream("new.xls");
wb.write(fileOut);
fileOut.close();
Это работает абсолютно нормально. Но моя проблема в том, что сейчас я имею дело с новыми версиями excel. Поэтому мне нужно разработать аналогичный код для работы с новой версией шаблона. Может ли кто-нибудь подсказать, как я могу это сделать? Я попробовал заменить HSSWorkbook на XSSFWorkbook. Однако у XSSFWorkbook нет конструктора, позволяющего передавать булево значение. Также. когда я попробовал, он копирует данные, но строки с данными не сохраняют форматирование столбцов, которое есть в шаблоне.