首页 文章

POI - SXSSFWorkbook - Excel发现不可读的内容

提问于
浏览
3

我有一个充当模板的现有工作簿 . 我尝试更新现有行中的单元格值,这意味着相邻单元格具有值 . 问题是,在创建文件并打开它之后,我收到以下错误:“Excel在......中找到了不可读的内容”

我假设原因是SXSSFWorkbook只处理写入,如果存在行,则无法更新行的内容,这将需要读取然后写入 - 这是正确的还是我遇到了错误?

谢谢

2 回答

  • 3

    另一个问题是,如果您使用的是addMergedRegion,则行和列的CellRangeAddress值必须按升序排列:

    // 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));
    
  • 0

    如果其他人遇到此问题,请检查以确保SheetName的长度不会太长 . 设置工作簿工作表名称超过大约30个字符时,我收到此错误 .

    XSSFWorkbook wb = new XSSFWorkbook();
      XSSFSheet sheet = wb.createSheet();
      wb.setSheetName(0, "Supporting Documentation"); // make sure this is not too long
    

相关问题