|
0 / 0 / 0
Регистрация: 14.03.2018
Сообщений: 15
|
||||||
Парсинг Excel22.04.2018, 20:01. Показов 6339. Ответов 15
Метки нет (Все метки)
Добрый день, прошу помощи с проблемой, которая возникла в результате парсинга эксель документа. Он содержит в себе 5 столбцов и строки (4 столбца со значением String и один, третий, со значением Date). Создала цикл, который проходит весь документ, но на второй строке(конкретно на значении в формате Date) цикл почему-то прерывается и выдается ошибка Cannot get a numeric value from a text cell. Заранее спасибо!
0
|
||||||
| 22.04.2018, 20:01 | |
|
Ответы с готовыми решениями:
15
Парсинг excel
Парсинг Excel файла |
|
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
|
|
| 22.04.2018, 22:24 | |
|
1. Чо за библиотека?
2. СТэктрэйс приложи
0
|
|
|
0 / 0 / 0
Регистрация: 14.03.2018
Сообщений: 15
|
|
| 22.04.2018, 23:33 [ТС] | |
|
Кликните здесь для просмотра всего текста
Exception in thread "JavaFX Application Thread" java.lang.IllegalStateException: Cannot get a numeric value from a text cell
at org.apache.poi.hssf.usermodel.HSSFCell.t ypeMismatch(HSSFCell.java:643) at org.apache.poi.hssf.usermodel.HSSFCell.g etNumericCellValue(HSSFCell.java:668) at org.apache.poi.hssf.usermodel.HSSFCell.g etDateCellValue(HSSFCell.java:689) at narozeniny.ExcelTable.readFromEx(ExcelTa ble.java:49) at narozeniny.MainController.signUpPerson(M ainController.java:92) at narozeniny.MainController.lambda$0(MainC ontroller.java:65) at com.sun.javafx.event.CompositeEventHandl er.dispatchBubblingEvent(CompositeEventH andler.java:86) at com.sun.javafx.event.EventHandlerManager .dispatchBubblingEvent(EventHandlerManag er.java:238) at com.sun.javafx.event.EventHandlerManager .dispatchBubblingEvent(EventHandlerManag er.java:191) at com.sun.javafx.event.CompositeEventDispa tcher.dispatchBubblingEvent(CompositeEve ntDispatcher.java:59) at com.sun.javafx.event.BasicEventDispatche r.dispatchEvent(BasicEventDispatcher.jav a:58) at com.sun.javafx.event.EventDispatchChainI mpl.dispatchEvent(EventDispatchChainImpl .java:114) at com.sun.javafx.event.BasicEventDispatche r.dispatchEvent(BasicEventDispatcher.jav a:56) at com.sun.javafx.event.EventDispatchChainI mpl.dispatchEvent(EventDispatchChainImpl .java:114) at com.sun.javafx.event.BasicEventDispatche r.dispatchEvent(BasicEventDispatcher.jav a:56) at com.sun.javafx.event.EventDispatchChainI mpl.dispatchEvent(EventDispatchChainImpl .java:114) at com.sun.javafx.event.EventUtil.fireEvent Impl(EventUtil.java:74) at com.sun.javafx.event.EventUtil.fireEvent (EventUtil.java:49) at javafx.event.Event.fireEvent(Event.java: 198) at javafx.scene.Node.fireEvent(Node.java:84 13) at javafx.scene.control.Button.fire(Button. java:185) at com.sun.javafx.scene.control.behavior.Bu ttonBehavior.mouseReleased(ButtonBehavio r.java:182) at com.sun.javafx.scene.control.skin.Behavi orSkinBase$1.handle(BehaviorSkinBase.jav a:96) at com.sun.javafx.scene.control.skin.Behavi orSkinBase$1.handle(BehaviorSkinBase.jav a:89) at com.sun.javafx.event.CompositeEventHandl er$NormalEventHandlerRecord.handleBubbli ngEvent(CompositeEventHandler.java:218) at com.sun.javafx.event.CompositeEventHandl er.dispatchBubblingEvent(CompositeEventH andler.java:80) at com.sun.javafx.event.EventHandlerManager .dispatchBubblingEvent(EventHandlerManag er.java:238) at com.sun.javafx.event.EventHandlerManager .dispatchBubblingEvent(EventHandlerManag er.java:191) at com.sun.javafx.event.CompositeEventDispa tcher.dispatchBubblingEvent(CompositeEve ntDispatcher.java:59) at com.sun.javafx.event.BasicEventDispatche r.dispatchEvent(BasicEventDispatcher.jav a:58) at com.sun.javafx.event.EventDispatchChainI mpl.dispatchEvent(EventDispatchChainImpl .java:114) at com.sun.javafx.event.BasicEventDispatche r.dispatchEvent(BasicEventDispatcher.jav a:56) at com.sun.javafx.event.EventDispatchChainI mpl.dispatchEvent(EventDispatchChainImpl .java:114) at com.sun.javafx.event.BasicEventDispatche r.dispatchEvent(BasicEventDispatcher.jav a:56) at com.sun.javafx.event.EventDispatchChainI mpl.dispatchEvent(EventDispatchChainImpl .java:114) at com.sun.javafx.event.EventUtil.fireEvent Impl(EventUtil.java:74) at com.sun.javafx.event.EventUtil.fireEvent (EventUtil.java:54) at javafx.event.Event.fireEvent(Event.java: 198) at javafx.scene.Scene$MouseHandler.process( Scene.java:3757) at javafx.scene.Scene$MouseHandler.access$1 500(Scene.java:3485) at javafx.scene.Scene.impl_processMouseEven t(Scene.java:1762) at javafx.scene.Scene$ScenePeerListener.mou seEvent(Scene.java:2494) at com.sun.javafx.tk.quantum.GlassViewEvent Handler$MouseEventNotification.run(Glass ViewEventHandler.java:394) at com.sun.javafx.tk.quantum.GlassViewEvent Handler$MouseEventNotification.run(Glass ViewEventHandler.java:295) at java.security.AccessController.doPrivile ged(Native Method) at com.sun.javafx.tk.quantum.GlassViewEvent Handler.lambda$handleMouseEvent$353(Glas sViewEventHandler.java:432) at com.sun.javafx.tk.quantum.QuantumToolkit .runWithoutRenderLock(QuantumToolkit.jav a:389) at com.sun.javafx.tk.quantum.GlassViewEvent Handler.handleMouseEvent(GlassViewEventH andler.java:431) at com.sun.glass.ui.View.handleMouseEvent(V iew.java:555) at com.sun.glass.ui.View.notifyMouse(View.j ava:937) at com.sun.glass.ui.win.WinApplication._run Loop(Native Method) at com.sun.glass.ui.win.WinApplication.lamb da$null$147(WinApplication.java:177) at java.lang.Thread.run(Unknown Source) Библиотека jxl Добавлено через 16 минут Если просто выводить в консоль индексы клеток по срокам, то в определенный момент обычная последовательность 01234 меняется на 0125
0
|
|
|
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
|
|
| 22.04.2018, 23:59 | |
|
В доках например рекомендуют кастить Cell в более специфичный тип. Если я конечно смотрел те доки.
0
|
|
|
2755 / 2062 / 509
Регистрация: 17.02.2014
Сообщений: 9,492
|
|
| 23.04.2018, 09:24 | |
|
0
|
|
|
3 / 3 / 2
Регистрация: 30.12.2015
Сообщений: 10
|
||||||
| 23.04.2018, 10:34 | ||||||
|
Biotech, Как вы знаете Excel-е есть разные типы данных в ячейках. У вас ячейка имеет формат Data. Поэтому вам вначале нужно достать формат ячейки и только потом проводить с ней операции. На сайте Apache POI есть уже готовый пример как это сделать. тыц!
Например, я делал эту проверку примерно так:
0
|
||||||
|
0 / 0 / 0
Регистрация: 14.03.2018
Сообщений: 15
|
|
| 23.04.2018, 17:41 [ТС] | |
|
Не знаю, от чего это зависит, но сбой происходит еще до этого.
Когда я пишу CellType type=cell.getCellType() eclipse пишет celltype cant be resolved to a type. Можно ли как-нибудь по-другому проверить тип данных?
0
|
|
|
2755 / 2062 / 509
Регистрация: 17.02.2014
Сообщений: 9,492
|
|
| 23.04.2018, 17:48 | |
|
Biotech, у тебя не дает значение из числовой ячейки, так? ты пробовал в эти ячейки, допустим целые числа вставить?
0
|
|
|
0 / 0 / 0
Регистрация: 14.03.2018
Сообщений: 15
|
|
| 23.04.2018, 19:26 [ТС] | |
|
Да, с числовым форматом тоже не получилось
0
|
|
|
2755 / 2062 / 509
Регистрация: 17.02.2014
Сообщений: 9,492
|
|
| 23.04.2018, 19:37 | |
|
с целыми числами?
Добавлено через 4 минуты сделай небольшой Exсel файл или даже несколько, с разными типами чисел и исследуй, пока не поймешь где трабла.
0
|
|
|
0 / 0 / 0
Регистрация: 14.03.2018
Сообщений: 15
|
||||||
| 23.04.2018, 19:37 [ТС] | ||||||
|
Удалось сделать выборку по типу клеток, но в базе данных, куда, собственно, и идут все значения, в строчке с днем и с месяцем отображаются 0, то есть все равно не происходит чтение числовых данных.
0
|
||||||
|
2755 / 2062 / 509
Регистрация: 17.02.2014
Сообщений: 9,492
|
|
| 23.04.2018, 19:43 | |
|
формат дат, возможно не приведен к одному виду!
0
|
|
|
0 / 0 / 0
Регистрация: 14.03.2018
Сообщений: 15
|
|
| 23.04.2018, 22:15 [ТС] | |
|
Aviz__, нет, все данные одного вида. Уже несколько раз проверяла
0
|
|
|
2755 / 2062 / 509
Регистрация: 17.02.2014
Сообщений: 9,492
|
|
| 24.04.2018, 05:21 | |
|
14.11.2017 на такой дате не спотыкается? в jxl может быть формат дат американский, по дефолту.
0
|
|
|
0 / 0 / 0
Регистрация: 14.03.2018
Сообщений: 15
|
|
| 25.04.2018, 13:52 [ТС] | |
|
Всем большое спасибо, я поняла, как это делается:
Date date = new SimpleDateFormat("dd.MM.yyyy").parse(cel l.getStringCellValue());
0
|
|
|
2755 / 2062 / 509
Регистрация: 17.02.2014
Сообщений: 9,492
|
|
| 25.04.2018, 14:08 | |
|
Biotech, какая Вы, молодец
0
|
|
| 25.04.2018, 14:08 | |
|
Помогаю со студенческими работами здесь
16
Парсинг Excel файла Парсинг Excel и сохранение в *.xml Парсинг Excel в БД посредством php
Парсинг XML файл в Excel на сервере Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
|
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
|
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию.
2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
|
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
|
|
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO
Апнулись до NET10.
Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта
так и в интерактивном режиме. из сложностей - чисто функциональный подход.
Решил. . .
|
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2.
Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники".
В. . .
|
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии.
. . .
|
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
|