DeferredSXSSFWorkbook autosizing of columns

261 Views Asked by At

Is it possible to autosize columns with DeferredSXSSFWorkbook / setRowGenerator?

I've set rowAccessWindowSize to 25 and attempt to autosize at row 20 but it doesn't do anything.

Simplified example:

var wb = new DeferredSXSSFWorkbook(25);
var sheet1 = wb.createSheet("sheet1");
sheet1.setRowGenerator(sheet -> {
  sheet.trackAllColumnsForAutoSizing();
  var row = sheet.createRow(0);
  row.createCell(0).setCellValue("Some very long string that exceeds default column width");
  sheet.autoSizeColumn(0);
});
wb.write(new FileOutputStream("test.xlsx"));

Equivalent code with XSSFWorkbook (no streaming) works correctly.

Created a replit to demonstrate but for some reason it generates corrupted files: https://replit.com/@MarcinWinicki/DeferredSXSSFWorkbook-autosizing?v=1

0

There are 0 best solutions below