Почему значение ячейки возвращается как пустая строка, хотя она имеет содержимое? - PullRequest
0 голосов
/ 19 августа 2010

Я написал метод Java, использующий POI HSSF API для преобразования файла Excel в мою структуру данных.

Некоторое время код работал просто отлично.Но сейчас внезапно возникают проблемы.Я подозреваю, что это может быть связано с тем, что недавно мы установили Office 2007 на все клиентские компьютеры, ранее у нас был Office 2003.

Проблема, с которой я столкнулся: внутри файла XLS у меня есть столбец ячеек, заполненныйсерийные номера пользователя.Когда приложение Java получает ячейку, оно имеет тип ячейки STRING.И когда я запрашиваю строковое значение ячейки, я получаю пустую строку.

Файл изначально создается приложением, затем пользователи заполняют его данными и загружают обратно в приложение.Поэтому я не думаю, что формат файла неправильный, так как он создан той же версией API.

В чем может быть проблема?

РЕДАКТИРОВАТЬ:

Уточнение: Мы обновили установку Office до 2007 года, но приложение все еще использует форматы HSSF и XLS.Только пользователи открывают и редактируют файлы в Office 2007. Это проблема?

Ответы [ 2 ]

1 голос
/ 19 августа 2010

Проверяли ли вы, если Excel автоматически переключал тип ячейки на NUMERIC, когда пользователь вводил значение?
В Excel есть эта раздражающая функция, позволяющая «разумно угадать», какое значение вводит пользователь, что часто вызывает проблемы в POI.

0 голосов
/ 19 августа 2010

HSSF - это чистая Java-реализация проекта в формате файла Excel'97 (-2007). XSSF - это чистая Java-реализация проекта POI в формате Excel 2007 OOXML (.xlsx).

read furthur http://poi.apache.org/spreadsheet/index.html

...