powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / лист Excel
9 сообщений из 9, страница 1 из 1
лист Excel
    #39401962
Mari.P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дано: книга Excel, где пользователь набил неизвестно как данные.
Заготовки книг формирую не я, поддержка макросов запрещена.
Задача - перегнать данные в БД MySQL, клиентская программа, которая впоследствии занимается аналитикой данных написана на Java:Swing
Подскажите пожалуйста уважаемые профессионалы, может кто сталкивался
с такой задачей, какими инструментами лучше реализовать?
...
Рейтинг: 0 / 0
лист Excel
    #39402313
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mari.P,

1. Сохранить в Экселе как CSV файл.
2. Импортировать в базу штатными средствами. См. LOAD DATA INFILE Syntax
...
Рейтинг: 0 / 0
лист Excel
    #39402564
Mari.P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Garrick,

Спасибо, попробовала сохранить в csv, получилась ерунда. Да и пользователи не будут сами сохранять в .csv
Думаю написать программу чтения непосредственно Excel файла, используя Apache POI,
поиска по адресу необходимых значений и записи их в базу.

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
РТС;11.02.2017;07-00;;;;;;;Т н.в.ф;Т о.з.;ГВС;;Т ср.сут                за прош;;;;Vсум=;;Расчетные параметры;;;;;;
;;;;;;;;;-23;-23;Р;Т  ?С;G ц т/ч;;G подпитка факт      т/сут;G подпитка норматив т/сут;Н ба м;%;Т н.в.=       (?C);;;;;;
;объект;Тн.в. среднесут.;Рп атм;Р обр атм;? Р;?Рф-?Рр; Т п.з. ?С ; Т о.з. ?С ;"Т пр
?С среднесут.";"Т обр
 ?С среднесут.";;Т  ?С;G1;G2;;;;%;Р1 расч.;Р2 расч.;Hрасч.;"Ргвс
расч.";тем. гр. ;Т гвс;
2;Адрес1;-21;;;0;-17;81.5 ;61.8 ;82;65;;;;;7/с;;;;4;2.3;17;-;95/70;отсутс.;
;Адрес2;-22;4.2;3.2;10;0;82.8 ;62.6 ;80;67;;;;;0,7/с;;;;4.1;3.1;10;;95/70;;60
;Адрес3;-22;7.3;3.8;35;0;94.9 ;62.6 ;93;76;;;1560;;7/ч;;;;7.2;3.7;35;;110/70;;1250
;Адрес4;-21;5.1;4;11;-2;81.5 ;61.8 ;82;63;4,4/2,7;68/56;;;83/с;;;;5.1;3.8;13;5.
...
Рейтинг: 0 / 0
лист Excel
    #39402566
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mari.P,
самое быстрое средствами poi прочитать и сохранить в csv, а потом load data...
...
Рейтинг: 0 / 0
лист Excel
    #39402573
Mari.P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,

Спасибо.
Прочитала файл c помощью POI
Зачем сохранять в csv?
сейчас разгребу и буду в базу писать.
Минус только один - придется привязываться не по uid, а по адресам,
а это не очень надежно.
...
Рейтинг: 0 / 0
лист Excel
    #39402812
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mari.Pвадя,

Зачем сохранять в csv?

Штатная загрузка CSV будет работать в разы быстрее.
...
Рейтинг: 0 / 0
лист Excel
    #39402866
Partisan M
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GarrickШтатная загрузка CSV будет работать в разы быстрее.

Если руки кривые. Впрочем, раз пользователь вводит данные вручную, то скорость загрузки в базу не имеет значения, так как данных мало. Так что делать, как удобно. Я бы сделал так (фактически, иногда и делаю):
Mary.Pсейчас разгребу и буду в базу писать.

CSV плох тем, что не сохраняет информации о типах, из-за чего есть возможность ошибок или неточной передачи данных. Что конечно можно учесть, но можно и не допускать, не применяя CSV без нужды.
...
Рейтинг: 0 / 0
лист Excel
    #39403007
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Partisan MВпрочем, раз пользователь вводит данные вручную, то скорость загрузки в базу не имеет значения, так как данных мало
Про мало данных нигде не сказано, это вы сами придумали. Может быть там в каждом файле по максимуму строк и таких файлов сотни тысяч, а на загрузку всего этого отведено не более часа. Подобных исходных данных автор темы не представил.

Partisan MCSV плох тем, что не сохраняет информации о типах, из-за чего есть возможность ошибок или неточной передачи данных. Что конечно можно учесть, но можно и не допускать, не применяя CSV без нужды.
Вы серьёзно счтитаете что Excel больше предоставляет информации о типах? Особенно когда в текстовых ячейках написано что-то типа: "01.01.2001" или "1, 500.00 р."

Загрузка данных из CSV есть штатно во всех СУБД. По моему мнению, чем стараться переплюнуть разработчиков СУБД в этой области, лучше потратить это время на написание программы/процедуры по приведению исходных данных к единому формату, удобному для загрузки в базу.
...
Рейтинг: 0 / 0
лист Excel
    #39403202
Mari.P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо всем. Данных действительно мало, тк шаблон Excel спускают сверху, а юзер вводит данные вручную ежедневно
и на каждый день у него новый файл.
Просто руководство захотело аналитику, те графики, отчеты и тп, а как их сделать, если файлы Excel раскиданы по всему компьютеру. Вот поэтому и требуется загрузка в БД. Юзер нажимает кнопку "загрузить файл", а прога анализирует и пишет в БД.
Ну а потом выводит по запросу разную аналитику за период
и так каждый день )))
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / лист Excel
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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