I have an existing workbook that acts as template. I tried to update a cell value in an existing row, meaning the adjacent cell has a value. The problem is that after the file is created and I open it, I get the following error: "Excel found unreadable content in...."
I assume the reason is SXSSFWorkbook only handles writing and if a row exists it cant update the contents of the row, which would entail reading and then writing - is this correct or am I experiencing a bug?
Thanks
Another issue is that if you're using addMergedRegion, the CellRangeAddress values for rows and columns have to be in ascending numerical order:
// Note that rows and columns for CellRangeAddress constructor have to be in ascending order
// The commented out line below will generate an error when opening the sheet:
// sheet.addMergedRegion(new CellRangeAddress(lastRow, lastRow-(rowsTobeCreated-1), 0, 0));
// In order this call works:
sheet.addMergedRegion(new CellRangeAddress(lastRow-(rowsTobeCreated-1), lastRow, 0, 0));
In case anyone else has this problem, check to make sure the length of your SheetName is not too long. I was getting this error when setting the workbook sheet name longer than around 30 characters.
XSSFWorkbook wb = new XSSFWorkbook();
XSSFSheet sheet = wb.createSheet();
wb.setSheetName(0, "Supporting Documentation"); // make sure this is not too long
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.