0

我编写了一个 Java 方法,它使用 POI HSSF API 将 Excel 文件转换为我的数据结构。

该代码在一段时间内工作得很好。但是现在突然出现了问题。我怀疑这可能是因为最近我们在所有客户端计算机上安装了 Office 2007,之前我们有 Office 2003。

我遇到的问题是:在 XLS 文件中,我有一列单元格,其中填充了用户的序列号。当 Java 应用程序获取单元格时,它的单元格类型为 STRING。当我询问单元格的字符串值时,我得到一个空字符串。

该文件最初由应用程序创建,然后用户用数据填充它并将其加载回应用程序。所以我不认为文件格式是错误的,因为它是由相同版本的 API 创建的。

可能是什么问题呢?

编辑:

澄清:我们将 Office 安装升级到 2007,但应用程序仍然使用 HSSF 和 XLS 格式。只有用户使用 Office 2007 打开和编辑文件。有问题吗?

4

2 回答 2

1

您是否检查过 Excel 在用户输入值时是否自动将单元格类型切换为 NUMERIC?
Excel 有一个烦人的功能,可以“智能地猜测”用户输入的值类型,这通常会导致 POI 出现问题。

于 2010-08-19T11:48:41.347 回答
0

HSSF 是 POI 项目的 Excel '97(-2007) 文件格式的纯 Java 实现。XSSF是 POI 项目的Excel 2007 OOXML (.xlsx) 文件格式的纯 Java 实现。

进一步阅读 http://poi.apache.org/spreadsheet/index.html

于 2010-08-19T11:50:08.410 回答