-
Notifications
You must be signed in to change notification settings - Fork 72
Open
Labels
Description
Description
Calling Vaadin Spreadsheet#addMergedRegion fails if createFreezePanes() has been called before and the workbook already contains data.
Actual Result: An error is thrown on addMergedRegion, stack trace attached
AddMergedRegion StackTrace.txt
Repository with reproduction: https://github.com/myronenkom/spreadsheet-issues/blob/main/src/main/java/com/example/application/views/helloworld/AddMergedRegionIssue.java
Expected outcome
The merged region is added without errors.
Minimal reproducible example
XSSFWorkbook workbook = new XSSFWorkbook();
Sheet sheet = workbook.createSheet("Test Data Sheet");
generateSheetData(sheet);
Spreadsheet spreadsheet = new Spreadsheet(workbook);
spreadsheet.setSizeFull();
spreadsheet.createFreezePane(5, 0);
spreadsheet.addMergedRegion(CellRangeAddress.valueOf("A1:E1")); // commenting this line fixes the issue
this.add(spreadsheet);
Steps to reproduce
- Create a workbook and sheet, and generate some data so that Sheet#getRow returns data.
- Create a Vaadin Spreadsheet based on the workbook.
- Create freeze panes with a valid rowSplit (e.g., if the sheet has 3 rows of data, specify at most 3).
- Add any merged region using the Spreadsheet API.
Environment
Vaadin version(s): 24.9.0
OS: Windows
Browsers
No response