|
|
|
Excel -> CSV программно
|
|||
|---|---|---|---|
|
#18+
Всем доброго дня! Создаю стотысячную тему на тему преобразования XLS в CSV, т.к. в предыдущих ответа не нашла. Написала красивую и хорошую процедуру загрузки данных из CSV в таблицы Оракла, которая запускается из Апекса, за основу брала вот этот пример: http://avdeo.com/2008/05/21/uploading-excel-sheet-using-oracle-application-express-apex/ В коде твердо зашит разделитель, использующийся в csv. Все хорошо, но файлы будут загружаться пользователями. Можно, конечно, попросить их конвертировать xls в csv, но настройки разделителя у всех свои. - Можно ли как-то вытащить эти настройки в Апексе, чтобы передавать в процедуру как параметр? - Можно ли как-то вытащить данные из сохраненного в blob файла xls? - Как и на чем написать утилитку, которая будет при загрузке файла преобразовывать его в csv с заданным разделителем? И как ее запустить из Апекса? Мне наиболее вероятным кажется последний вариант. Возможно, есть еще какие-то выходы? Подскажите, пожалуйста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2015, 18:02 |
|
||
|
Excel -> CSV программно
|
|||
|---|---|---|---|
|
#18+
Парсить ХLS задача не тривиальная :) У меня (правда не на APEX) хорошо зарекомендовал себя способ копирования и вставки из буфера обмена. Excel делает разделитель между колонками, символ табуляции кажется, остальное дело техники. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2015, 18:30 |
|
||
|
Excel -> CSV программно
|
|||
|---|---|---|---|
|
#18+
Turingvetil, только CSV либо Java. Первое загоняйте в таблу и парсите там как угодно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2015, 18:35 |
|
||
|
Excel -> CSV программно
|
|||
|---|---|---|---|
|
#18+
Для пользователей более понятен загрузчик через стандартный Data load методом копировать с excel и вставить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2015, 04:16 |
|
||
|
Excel -> CSV программно
|
|||
|---|---|---|---|
|
#18+
Алексей Выхрыстюк, Не понял слово Копировать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2015, 08:13 |
|
||
|
Excel -> CSV программно
|
|||
|---|---|---|---|
|
#18+
Vladml, а как засунуть файл в буфер обмена? Petro123, сейчас так и делаю, но чтобы парсить, нужно точно знать, какой разделитель пришел в пользовательском файле CSV. Можно это как-то выяснить? Или можно программно заменить разделители в пришедшем файле? А что можно сделать на Яве? Алексей Выхрыстюк, тоже не поняла, можно поподробнее? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2015, 08:53 |
|
||
|
Excel -> CSV программно
|
|||
|---|---|---|---|
|
#18+
Turingvetil, Цель грузить xls в апекс? Есть плагин, который грузит любой XLS(X) в коллекции (Памятник нужно поставить этому человеку, он на низком уровне разбирает файлы). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2015, 08:57 |
|
||
|
Excel -> CSV программно
|
|||
|---|---|---|---|
|
#18+
blkangel, о, вот это было бы здорово!! Поделитесь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2015, 09:15 |
|
||
|
Excel -> CSV программно
|
|||
|---|---|---|---|
|
#18+
Turingvetil, Понимаете, вы программист, и не нужно брать на себя всё многообразие форматов в мире. Ограниченный разброс в организации всегда можно проверить парсингом одной строки. Подсказать код поиска символа в varchar2 ? Напишите справку выше кнопки загрузки в свертывающемся регионе. И не ломайте голову. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2015, 09:17 |
|
||
|
Excel -> CSV программно
|
|||
|---|---|---|---|
|
#18+
Turingvetil, http://apex-plugin.com/oracle-apex-plugins/process-type-plugin/excel2collections_271.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2015, 09:20 |
|
||
|
Excel -> CSV программно
|
|||
|---|---|---|---|
|
#18+
Turingvetil, Работайте в паре с бизнес аналитиком, который даст вам 2, 3 формата. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2015, 09:22 |
|
||
|
Excel -> CSV программно
|
|||
|---|---|---|---|
|
#18+
Petro123, насчет бизнес-аналитика совет очень ценный, но трудновыполнимый) А насчет парсинга первой строки можно подумать, кстати. Т.е. найти самый часто встречающийся небуквенный символ? В принципе вариант, но все равно немножко "гадание" получается. blkangel, огромное спасибо! Изучу код, мне кажется, это то что нужно! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2015, 09:50 |
|
||
|
Excel -> CSV программно
|
|||
|---|---|---|---|
|
#18+
TuringvetilА что можно сделать на Яве? кинетесь изучать? "не делайте этого - мы вас потеряем. Оттуда не возвращаются" (с) )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2015, 09:57 |
|
||
|
Excel -> CSV программно
|
|||
|---|---|---|---|
|
#18+
Turingvetilнасчет бизнес-аналитика совет очень ценный, но трудновыполнимый) === его работу всё равно делаете вы - ограничиваете модель данных и формат входа. А насчет парсинга первой строки можно подумать, кстати. Т.е. найти самый часто встречающийся небуквенный символ? В принципе вариант, но все равно немножко "гадание" получается. ТЗ - вверху регион Справка с текстом: "Входной формат ограничен разделителями пробел и тире. Очерёдность колонок: Код, ДатаРождения, рост, ФИО ...." - в первой строке функции проверка на валидность подфункция IsValidFormat с выдачей райзе. - ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2015, 10:01 |
|
||
|
Excel -> CSV программно
|
|||
|---|---|---|---|
|
#18+
Turingvetilblkangel, огромное спасибо! Изучу код, мне кажется, это то что нужно! Если будете использовать, обратите внимание на нагрузку на сервер, скорость работы приложения у других пользователей. Поделитесь впечатлениями. Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2015, 10:04 |
|
||
|
Excel -> CSV программно
|
|||
|---|---|---|---|
|
#18+
Petro123, а, ну если ограничения поставить... Все-таки хотелось бы погибче как-то. "," и ";" в качестве разделителей не подойдут, т.к. часто встречаются в данных, и вряд ли пользователи по моему требованию полезут в виндовые настройки менять разделитель на какие-нибудь звездочки-галочки-табуляции... Оставлю этот вариант на крайний случай, но все-таки хотелось бы найти более удобный (для пользователей) способ. blkangel, обязательно!=) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2015, 10:11 |
|
||
|
Excel -> CSV программно
|
|||
|---|---|---|---|
|
#18+
TuringvetilВсе-таки хотелось бы погибче как-то. угу. Это у вас от отсутствия опыта - как будете отличать ID в колонке от роста в см.? - как будете объединённые ячейки расцеплять? - и т.д. и т.п ЗЫ Откуда файлы? Поставьте им тоже систему за деньги) LOL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2015, 10:19 |
|
||
|
Excel -> CSV программно
|
|||
|---|---|---|---|
|
#18+
Turingvetil"," и ";" в качестве разделителей не подойдут, т.к. часто встречаются в данных пример формата сюда в форум. Не нобелевскую решаете. Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2015, 10:20 |
|
||
|
Excel -> CSV программно
|
|||
|---|---|---|---|
|
#18+
Turingvetilв виндовые настройки упс. Забыл про формат от японцев и китайцев ))) Вроде не пятница ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2015, 10:22 |
|
||
|
Excel -> CSV программно
|
|||
|---|---|---|---|
|
#18+
Turingvetil, Если плагин не прокатит, то имхо java. Библиотек, я думаю, много, мне нравится Apache POI. Java, зато никаких конвертаций в CSV. Хотя может для чтения есть что-то попроще. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2015, 10:23 |
|
||
|
Excel -> CSV программно
|
|||
|---|---|---|---|
|
#18+
heavysideApache POI+1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2015, 10:24 |
|
||
|
Excel -> CSV программно
|
|||
|---|---|---|---|
|
#18+
Petro123TuringvetilВсе-таки хотелось бы погибче как-то. угу. Это у вас от отсутствия опыта - как будете отличать ID в колонке от роста в см.? - как будете объединённые ячейки расцеплять? - и т.д. и т.п Ну не настолько гибко) Ячейки, конечно, должны быть в приличном виде, и названия колонок правильные. А вот порядок и состав колонок неважен, это все собирается динамически, главное чтобы ключевые были. Но мы отвлеклись, сейчас не об этом. Да, похоже, без Явы не обойтись. Плагин ставиться не желает, пишет: "Bad Request. The HTTP client sent a request that this server could not understand." Возможно, это из-за того, что у нас 5-ый Апекс? Слышала, на нем многие плагины от 4-го не работают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2015, 14:42 |
|
||
|
Excel -> CSV программно
|
|||
|---|---|---|---|
|
#18+
TuringvetilА вот порядок и состав колонок неважен а как вы отличите рост от айдишников? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2015, 14:59 |
|
||
|
Excel -> CSV программно
|
|||
|---|---|---|---|
|
#18+
Petro123TuringvetilА вот порядок и состав колонок неважен а как вы отличите рост от айдишников? По шапке ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2015, 15:11 |
|
||
|
|

start [/forum/topic.php?fid=50&msg=39119049&tid=1874760]: |
0ms |
get settings: |
10ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
192ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
88ms |
get tp. blocked users: |
1ms |
| others: | 244ms |
| total: | 576ms |

| 0 / 0 |
