2012-02-28 55 views
0

我編寫了一個簡單的方法來生成Excel工作簿。生成的文件可能使用OpenOffice打開,但Excel2007無法識別它,崩潰並強制重新啓動Excel。無法打開使用poi-3.0-alpha1-20050704.jar生成的Excel

我也有POI暫存器-3.0-alpha1-20050704.jar在類路徑中。

的代碼是非常簡單:

import org.apache.poi.hssf.usermodel.HSSFCell; 
import org.apache.poi.hssf.usermodel.HSSFRow; 
import org.apache.poi.hssf.usermodel.HSSFSheet; 
import org.apache.poi.hssf.usermodel.HSSFWorkbook; 
. 
. 
. 
workbook = new HSSFWorkbook(); 
sheet = workbook.createSheet(); 
row = sheet.createRow(currentRow); 
cell = row.createCell(HEADER1_COLUMN); 
cell.setCellType(HSSFCell.CELL_TYPE_STRING); 
cell.setCellValue(HEADER_TEXT); 

使用特定版本是否有任何問題,或者我可以編碼不同的東西?

+0

你最後調用了workbook.write()嗎? – 2012-02-28 10:33:48

+0

是的,我寫的內容在最後,但沒有包括在帖子中,以便於理解。謝謝 – 2012-02-28 11:15:10

+0

我試過你的代碼。它爲我工作。但我有poi-3.2-FINAL-20081019.jar。你可以嘗試更新你的jar到最新,看看它是否工作。 – 2012-02-28 12:30:38

回答

1

您似乎正在運行一個有6.5年曆史的POI版本!這就是,「不尋常的」......

如果你看看POI change log and bug fix list,你會發現在6.5年的干預中,有太多的錯誤修復,你需要滾動大約20頁看到他們所有的總結!

你應該升級到很多很多較新的版本,而且幾乎可以肯定你所有的問題就會迎刃而解。如果可以,請升級到最新的3.8測試版,然後在3.8最終版發佈後的幾周內再次升級。如果不是,升級到3.7最終版,但從那時起已經有了quite a few bug fixes,這是3.8版本,所以推薦使用3.8。