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

时间:2012-01-12 18:56:05

标签: java excel apache-poi

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

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

由于

2 个答案:

答案 0 :(得分: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));

答案 1 :(得分:0)

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

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