[英]Why "cellIterator.hasNext()" is getting "TRUE" even though cell has empty value
[英]Why is a cell value returned as an empty string even though it has content?
我編寫了一個Java方法,該方法使用POI HSSF API將Excel文件轉換為我的數據結構。
該代碼可以正常工作一段時間。 但是現在突然出現了問題。 我懷疑這可能是因為最近我們在所有客戶端計算機上安裝了Office 2007,而以前我們安裝了Office 2003。
我遇到的問題是:在XLS文件中,有一列單元格,該單元格由用戶填充序列號。 Java應用程序獲取單元格后,其單元格類型為STRING。 當我詢問單元格的字符串值時,我得到一個空字符串。
該文件最初是由應用程序創建的,然后用戶用數據填充該文件並將其加載回應用程序。 因此,我認為文件格式沒有錯,因為它是由相同版本的API創建的。
可能是什么問題呢?
編輯:
說明:我們將Office安裝升級到2007,但是該應用程序仍使用HSSF和XLS格式。 只有用戶才能使用Office 2007打開和編輯文件。這是問題嗎?
您是否檢查了用戶輸入值時Excel是否自動將單元格類型切換為NUMERIC?
Excel具有此煩人的功能,可以“智能地猜測”用戶輸入的哪種值,這通常會導致POI出現問題。
HSSF是POI項目對Excel '97(-2007)文件格式的純Java實現。 XSSF是POI項目對Excel 2007 OOXML(.xlsx)文件格式的純Java實現。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.