Add excel-export module: Apache POI 6.0.0 XSSF vs SXSSF under a fixed heap, 1,000,000 rows streamed with StreamingResponseBody, OpenCSV, sheet rolling, temp-file cleanup
Co-Authored-By: Claude Sonnet 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_017ic4b4VQVEJWetTT1dYzyJ
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
sheetLimit=1000 (header included), 2500 data rows
|
||||
sheet 1 "Sales": last row index 999, first data cell 1
|
||||
sheet 2 "Sales 2": last row index 999, first data cell 1000
|
||||
sheet 3 "Sales 3": last row index 502, first data cell 1999
|
||||
XSSF and SXSSF files: same sheets, same formatted cell values on every 97th row
|
||||
|
||||
styling of a 5,000-row SXSSF file, read back with XSSF
|
||||
header cell A1 text=Order id bold=true
|
||||
freeze pane: row split at 1
|
||||
auto filter: A1:I1
|
||||
cell styles in the workbook: 5 (for 5,000 rows x 9 cells)
|
||||
B2 as Excel shows it: 30-May-2025
|
||||
amount number format: [>=10000000]##\,##\,##\,##0.00;[>=100000]##\,##\,##0.00;##,##0.00
|
||||
|
||||
the sheet limit
|
||||
createRow(1048575) ok
|
||||
createRow(1048576) -> IllegalArgumentException: Invalid row number (1048576) outside allowable range (0..1048575)
|
||||
|
||||
lakh/crore number format, rendered by POI's DataFormatter (not by Excel)
|
||||
999.50 -> 999.50
|
||||
99,999.50 -> 99,999.50
|
||||
123,456.78 -> 1,23,456.78
|
||||
1,234,567.89 -> 12,34,567.89
|
||||
12,345,678.90 -> 1,23,45,678.90
|
||||
123,456,789.10 -> 12,34,56,789.10
|
||||
Reference in New Issue
Block a user