powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / загрузка xls
21 сообщений из 21, страница 1 из 1
загрузка xls
    #39763427
saxarock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть простая задачка ТЗ по которой выглядит вот так: есть файлик с расширением *.xls либо .xlsx который необходимо положить в табличку в oracle db.

Сложности начинаются с тем что фалик *.xls либо .xlsx имеет не постоянную структуру в кол-ве и названии колонок.
Думал в строну транспонирования таблички в структуру стабильную где header фалика (*.xls либо .xlsx) это key а значение каждой колонки записи это value. Пробывал транспонировать на VBA, но медленно и неповоротливо.

Может кто сталкивался с похожей задачей?! Просьба подсказать как решали?
...
Рейтинг: 0 / 0
загрузка xls
    #39763438
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для решения подобных задач существуют инструменты ETL, в т.ч. бесплатные.
...
Рейтинг: 0 / 0
загрузка xls
    #39763444
saxarock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymous,

эх придется все таки разворачивать пентаху.
...
Рейтинг: 0 / 0
загрузка xls
    #39763448
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
saxarockразворачивать пентаху.
Пентаха уже не та. Она "вышла замуж" и взяла фамилиё Hitachi Vantra.
...
Рейтинг: 0 / 0
загрузка xls
    #39763451
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
saxarockфайлик ... положить в табличкуloader
...
Рейтинг: 0 / 0
загрузка xls
    #39763455
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-2-saxarockфайлик ... положить в табличкуloaderА как давно лодырь обучился excel-ки грузить?
...тем более с плавающей структурой...
...
Рейтинг: 0 / 0
загрузка xls
    #39763467
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymousА как давно лодырь обучился excel-ки грузить?Вроде с 8i.
andrey_anonymousтем более с плавающей структуройВот именно, что "тем более".
...
Рейтинг: 0 / 0
загрузка xls
    #39763471
Oleg M.Ivanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
andrey_anonymousА как давно лодырь обучился excel-ки грузить?
...тем более с плавающей структурой...
xls(xlsx) -> csv -> loader -> oracle_db
Управляющий файл, правда, придется каждый раз подстраивать под "имеет не постоянную структуру в кол-ве и названии колонок".
...
Рейтинг: 0 / 0
загрузка xls
    #39763476
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Oleg M.Ivanovxls(xlsx) -> csv -> loader -> oracle_db
Управляющий файл, правда, придется каждый раз подстраивать
В том-то и дело.
Нужен препроцессинг и генерация управляющего файла.
И с этим прекрасно справляются ETL-струменты, и лодыря они позвать тоже вполне себе в состоянии - можно промежуточный файл, можно stream...
...
Рейтинг: 0 / 0
загрузка xls
    #39763479
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-2-andrey_anonymousА как давно лодырь обучился excel-ки грузить?Вроде с 8i.
andrey_anonymousтем более с плавающей структуройВот именно, что "тем более".
Буду благодарен за демонстрацию хотя бы одного из тезисов (xls лодырем 8i и "тем более с плавающей структурой").
...
Рейтинг: 0 / 0
загрузка xls
    #39763532
Фотография Vladimir Filin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
saxarock... Просьба подсказать как решали?
Talend Open Studio for Data Integration. Разбор заголовка с колонками, сравнение с шаблоном маппинга к таблицам в oracle, заливка из непосредственно из датаинтегратора. Муторная задача (( С множеством проверок, шаблонов, валидаторов...
...
Рейтинг: 0 / 0
загрузка xls
    #39763546
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Взять в руки Java, Apache POI, JDBC.... делов на пару дней и/или подфорум Работа и пара ящиков доширака )))
...
Рейтинг: 0 / 0
загрузка xls
    #39763554
Фотография Vladimir Filin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
saxarock...есть файлик с расширением *.xls либо .xlsx .... Просьба подсказать как решали?
Вдруг пригодится. Если Ваша система сама выгружает пользователю файлик для дозаполнения и обратной загрузки, то задача существенно упрощается. Как решали: в этом случае в файлик (наш) application level записывал все необходимые ключи для обратной загрузки, перечень возможных колонок был согласован. Системные колонки были скрыты и защищены от просмотра и изменений. При обратной загрузке application level точно знал что и куда грузить. Колонки, которые пользователь наплодил вне шаблонов - игнорировались. Файлы особо одарённых, изменивших системные данные, - игнорировались.
...
Рейтинг: 0 / 0
загрузка xls
    #39763567
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymousБуду благодарен за демонстрацию хотя бы одного из тезисов (xls лодырем 8i и "тем более с плавающей структурой").
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
~>sqlldr 2/2@2 control=1.sl

SQL*Loader: Release 22.2.2.2.2 - Production on Fri Feb 22 22:22:22 2222

Copyright (c) 1982, 2222, Oracle and/or its affiliates.  All rights reserved.

Path used:      Conventional
Commit point reached - logical record count 1

Table FILE:
  1 Row successfully loaded.

Check the log file:
  1.log
for more information about the load.

~>sqlplus 2/2@2

SQL*Plus: Release 22.2.2.2.2 Production on  Fri Feb 22 22:22:22 2222

Copyright (c) 1982, 2222, Oracle.  All rights reserved.

Last Successful login time:  Fri Feb 22 2222 22:22:22 +22:22

Connected to:
Oracle Database 22v Enterprise Edition Release 22.2.2.2.2 - Production

SQL> select * from file;

B
--------------------------------------------------------------------------------
8FE0AEA8A7A2AEABECADA0EF20E1E2E0E3AAE2E3E0A0200D0A

SQL> exit
Disconnected from Oracle Database 22v Enterprise Edition Release 22.2.2.2.2 - Production

~>type 1.sl
load data
infile *
append into table file (
   f filler char(222),
   b lobfile(f) terminated by eof
)
begindata
file.xls

~>type file.xls
Произвольная структура

~>

...
Рейтинг: 0 / 0
загрузка xls
    #39763576
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-2-
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
load data
infile *
append into table file (
   f filler char(222),
   b lobfile(f) terminated by eof
)
begindata
file.xls



Спасибо, посмеялся :)
...
Рейтинг: 0 / 0
загрузка xls
    #39763662
oragraf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
saxarock,
Пишешь макрос на VBA из экселя, делашь кнопку в файле и вперед. Через ОДБЦ инсертами. Можно сгенерировать файл с инсертами, мерджами или контрольник для лоадера + текстовик с разделителями.
...
Рейтинг: 0 / 0
загрузка xls
    #39763818
merch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
saxarockнеобходимо положить в табличку в oracle db

Насколько регулярно будет возникать данная задача?
...
Рейтинг: 0 / 0
загрузка xls
    #39763822
EvgeniaMakarova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вам нужно докладывать данные из файла в существующую таблицу ?
...
Рейтинг: 0 / 0
загрузка xls
    #39763922
saxarock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
merchНасколько регулярно будет возникать данная задача?

Ежедневно.
...
Рейтинг: 0 / 0
загрузка xls
    #39763923
saxarock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EvgeniaMakarovaВам нужно докладывать данные из файла в существующую таблицу ?

Да
...
Рейтинг: 0 / 0
загрузка xls
    #39764123
rpovarov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я делал так:
- XLS конвертировался в XLSX
- XLSX заливались в базу как BLOB
- С помощью AS_READ_XLSX парсинг

Выход универсальный, можно его крутить как хочешь. Я для своих целей ещё в оригинальный исходник добавил вывод информации о merge cells, color metadata и external link file.

Есть ещё проект https://github.com/mbleron/ExcelTable, который умеет парсить и XLS и ODF, но мне он не подошёл, так как требует заранее знать название листа, номера столбцов и строк, а в моих входных данных это может плавать.
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / загрузка xls
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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