Сейчас я работаю над проектом POC, и меня попросили создать приложение для загрузки. Excel в базу данных. Прочитав, я решил использовать Apache POI, поскольку я также буду выполнять сопоставление данных с Excel. Пользователям разрешено загружать Excel как в формате xls, так и в формате xlsx, затем при весенней загрузке я независимо конвертирую загруженный формат файла в xlsx, поэтому, когда другие пользователи загружают файл Excel, он возвращает формат xlsx. Мне удалось это сделать, но когда дело доходит до стиля, он продолжает выдавать ошибку стиля. и иногда стиль может быть не таким, как он выглядит при загрузке.


Это то, что я пробовал
в своем сервисе:
Код: Выделить всё
private ByteArrayOutputStream convertWorkbookToXlsx(Workbook workbook) throws IOException {
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
try (XSSFWorkbook xssfWorkbook = new XSSFWorkbook()) {
for (int i = 0; i < workbook.getNumberOfSheets(); i++) {
Sheet originalSheet = workbook.getSheetAt(i);
Sheet newSheet = xssfWorkbook.createSheet(originalSheet.getSheetName());
// for merged cells
for (int j = 0; j < originalSheet.getNumMergedRegions(); j++) {
CellRangeAddress mergedRegion = originalSheet.getMergedRegion(j);
if (mergedRegion != null) {
newSheet.addMergedRegion(mergedRegion);
}
}
// copy column widths
for (int colIndex = 0; colIndex < originalSheet.getRow(0).getLastCellNum(); colIndex++) {
newSheet.setColumnWidth(colIndex, originalSheet.getColumnWidth(colIndex));
}
// for each row and columns
for (int j = 0; j
Подробнее здесь: [url]https://stackoverflow.com/questions/79108499/apache-poi-converting-xls-to-xlsx-styling-error[/url]