Гость
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / чтение Excel через Apache POI SAX проблема с датами / 8 сообщений из 8, страница 1 из 1
08.10.2020, 16:11
    #40006616
Leonid Kudryavtsev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
чтение Excel через Apache POI SAX проблема с датами
Колонки с датами приходят в виде "тупо чисел" 45378

У кого нибудь есть пример, как понять, что в ячейке должна быть дата и преобразовать ее в нормальный вид?

Вроде задача простейшая, но в инете пока ничего не нашел.
...
Рейтинг: 0 / 0
08.10.2020, 16:28
    #40006622
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
чтение Excel через Apache POI SAX проблема с датами
...
Рейтинг: 0 / 0
08.10.2020, 16:30
    #40006624
chpasha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
чтение Excel через Apache POI SAX проблема с датами
черт, опередили :)

теоретически проверяешь тип ячейки getCellType (там начиная с какой-то версии энумы, до какой-то - int), если numeric, то DateUtils.isCellDateFormatted и если true, то cell.getDateCellValue
...
Рейтинг: 0 / 0
08.10.2020, 16:43
    #40006627
Leonid Kudryavtsev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
чтение Excel через Apache POI SAX проблема с датами
Basil A. Sidorov


Subj. SAX

Вот все, что наблюдаю:

Код: xml
1.
<c r="AI4" s="4"><v>45378</v></c>



Но нормальной документации с табличкой, что какой "s" значит, пока не нашел. Примера так же не нашел ((( возможно не там ищу
...
Рейтинг: 0 / 0
08.10.2020, 16:50
    #40006630
Leonid Kudryavtsev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
чтение Excel через Apache POI SAX проблема с датами
...
Рейтинг: 0 / 0
08.10.2020, 17:43
    #40006645
Leonid Kudryavtsev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
чтение Excel через Apache POI SAX проблема с датами
Уроды. Таблица стилей возврашает

getDataFormat() = 14
getDataFormatString() = "m/d/yy"

А на деле, в Excel'е, я вижу "DD.MM.YYYY".

Пока захардкодил 14 и преобразовываю:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
DataFormatter formatter = new DataFormatter();
...
...
if ( dataFormat == 14 ) {
  double d = 0;
  boolean is_ok = true;
  try {
    d = Double.parseDouble(lastContents);
  } catch ( java.lang.NumberFormatException ex ) {
    is_ok = false;
  }
  if ( is_ok ) {
    lastContents = formatter.formatRawCellContents(d, dataFormat, "DD.MM.YYYY" );
  }
}
...
Рейтинг: 0 / 0
09.10.2020, 10:29
    #40006845
Garrick
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
чтение Excel через Apache POI SAX проблема с датами
Leonid Kudryavtsev
Basil A. Sidorov


Subj. SAX

Вот все, что наблюдаю:

Код: xml
1.
<c r="AI4" s="4"><v>45378</v></c>



Но нормальной документации с табличкой, что какой "s" значит, пока не нашел. Примера так же не нашел ((( возможно не там ищу


Если вы через POI работаете, как вы до XML докопались? По-моему POI оно как раз для того, чтобы этого не делать.
http://poi.apache.org/apidocs/dev/org/apache/poi/hssf/usermodel/HSSFCell.html#getDateCellValue--
https://poi.apache.org/apidocs/dev/org/apache/poi/ss/usermodel/DateUtil.html
...
Рейтинг: 0 / 0
09.10.2020, 11:44
    #40006868
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
чтение Excel через Apache POI SAX проблема с датами
У POI есть 2 реализации Excel парсеров.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / чтение Excel через Apache POI SAX проблема с датами / 8 сообщений из 8, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]