Я нашел следующий код для создания листа 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 не имеет конструктора, который позволяет мне передавать логическое значение. Также. когда я пробовал, он копирует данные, но строки с данными не сохраняют форматирование столбцов, которые есть в шаблоне.