2012-01-12 388 views
3

我有一個充當模板的現有工作簿。我試圖更新現有行中的單元格值,這意味着相鄰單元格有一個值。問題是,文件創建後,我打開它,我得到以下錯誤: 「Excel中發現不可讀內容」POI - SXSSFWorkbook - Excel發現無法讀取的內容

我假設原因是SXSSFWorkbook只處理寫入,如果行存在它不能更新該行的內容,這將需要閱讀,然後寫 - 這是正確的還是我遇到了一個錯誤?

感謝

+0

你有沒有發現,爲什麼會發生?我也有同樣的問題。 – Neets 2012-06-11 14:30:31

回答

0

如果任何人有這個問題,檢查以確保您的SHEETNAME的長度不能太長。設置工作簿表名稱長於30個字符時出現此錯誤。

XSSFWorkbook wb = new XSSFWorkbook(); 
    XSSFSheet sheet = wb.createSheet(); 
    wb.setSheetName(0, "Supporting Documentation"); // make sure this is not too long 
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)); 
相關問題