簡體   English   中英

為什么單元格值即使包含內容也作為空字符串返回?

[英]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實現。

閱讀更多http://poi.apache.org/spreadsheet/index.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM