Импорт Excel в TPS

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Гость

Сообщение Гость »

Здравствуйте уважаемые!

Каким образом можно организовать импорт данных из Excel в TPS c параллельной их обработкой с помощью Clarion ?

--
Mfg,
Anton mailto:ustim@web.de


(Добавление)

Через OCX Formula One
Через ODBC
Через Excel по DDE
Вроде бы библиотека Олега Руденко такое может.

С уважением,
Владимир Смелик vovs@bigfoot.com

Привет!
Попробуй dpQuery
http://www.clarionlife.net/cgi-bin//bl_ ... pquery.zip
, это то, что тебе надо, там и пример в точности Excel->tps

С уважением, ДП


(Добавление)

Нужную таблицу сохранить в csv формате. Ну а дальше переливание из csv в tps со всеми переработками в Clarion'e

Liudvikas Jagucanskis <lwj@wireless.lt>

Если хочется геморроя, то это самый верный путь. На каждую excel-таблицу надо иметь описание соответствующего csv в кларионе, причем excel-евские таблицы зачастую имеют по сотне столбцов

Михаил
Написал: ClaList(2)
Гость

Сообщение Гость »

Где молодой человек увидел геморрой?
Все одно ему под каждый конкретный CSV файл менять результирующую базу.

Igor Gubin <igor@quantor.com>

Если бы ты сказал tps, это было бы понятно, но как от этого уйти? Разве что завести метабазу. А csv описывать вообще не надо. Достаточно одного ASCII, если известна макс длина строки, или DOS, если не известна.

WBR, Nick Tsigouro mailto:nick@arsis.ru

я чего-то не пойму. Имеем 40 прайсов от 40-ка контор в формате xls. Хотим эти прайсы загнать в свою (одну) таблицу. Ваш подход - либо 40 csv, либо 40 алгоритмов обработки ascii-файла. Да, ещё всё время в клипборд по 100 метров запихивать

Михаил

Ещё хуже, что номера строк-столбцов и форматы данных разные...

Я выделял содержательную часть, игнорируя заголовки, и сохраняю её в буфер обмена. После чего сообщил программе, что название товара
должно грузиться из колонки 1, а цена - из колонки 5 (для разных прайсов по разному).
Просматривал список через листбокс, а потом давал указание этот список загрузить. Только и всего. После загрузки буфер обмена можно и
очистить. И даже вернуть исходное содержание.

Я понимаю, что здесь рукописная работа по выделению содержательной части файла. Но все прайс-листы разные, у всех разные заголовки,
логотипы и т.д. Завтра изменится шапка, добавятся новые колонки и т д....

А с Csv у меня были проблемы. Так случилось, что в некоторых клетках находился текст с переносом строки CR-LF . При выгрузке в CSV эти символы тоже переносятся. А вот при загрузке в этом месте происходит разрыв строки и начало новой записи. Так что не конфета. А ещё проблемы с кавычками. Тексты очень даже могут содержать апострофы и кавычки, при экспорте в CSV это крайне искажает структуру данных. Впрочем, это было давно и, возможно, всё это решается.

Кстати, а где ты видел XLS-файл размером 100 мегабайт?

---------------------------------------
C уважением,
Юрий Философов,
Главный программист
Корпорация "Диполь", Саратов
E-mail yufil@tacis-dipol.ru (служ)
yufil@mail.ru (дом)
ICQ#75924439

Посмотри параметры для SEND.
У меня периодически возникает проблема перегнать в базу файлы (c текстовыми полями) из ACCESS, так я просто кидаю их в EXEL (paste-copy), далее CSV (save as), далее в tps. Поскольку форматы исходных файлов меняются постоянно (как и глюки в исходных файлах), то мой способ требует от меня минимума геморроя в изменении программы конвертации.
И все проблемы с кавычками и <13><10> решаются на уровне SEND.

------------------------------------------------------------
Igor Gubin
Написал: ClaList(2)
Гость

Сообщение Гость »

Что предлагаю я, так это использовать то, что excel это odbc, и написать несколько select-запросов, и вся недолга. И монстра этого грузить не надо.
Кстати, а где ты видел XLS-файл размером 100 мегабайт?
Да ладно. Ради красного словца и т.д.

С уважением, Михаил

вообщето и больше видеть приходилось :( сто только конторы не придумают

--
Всего наилучшего, porutchik mailto: porutchik@mail.primorye.ru
http://personal.primorye.ru/porutchik/
---------------------------------------------------------
Советские боевые слоны - самые боевые слоны в мире!

Если надо загнать информацию в свою таблицу определенной структуры, то самый простой способ - завести интерфейсную таблицу-описатель. Т.е. заводим список форматов прайсов, в котором говорим, что в такой-то колонке код товара, в такой-то колонке наименование, цена и т.п. А потом при загрузке выбираем нужный формат и закачиваем любым способом, какой больше нравится. Описатель формата можно к поставщику приписать, тогда совсем шоколадно будет. Была похожая задача, правда из другой предметной области, там я вообще через DDE работал (объемы небольшие).

С уважением,
Вячеслав Черников
Описатель формата можно к поставщику приписать, тогда совсем шоколадно будет.
Дык тогда XML сам бог велел!

--
Best regards,
Maxim Yemelyanov,
Enigma Soft Company
phone: +380 572 177977
WEB: http://enigmasoft.com.ua
e-mail: clalist@enigmasoft.com.ua
ICQ: 12253836

Получаю кучу файлов разного формата преимущ EXcel
Для сохранения в свою базу промеж формат - из EXc сохраняю txt c разделит
tab
предварительно в заголовки нужных колонок вставляю свои названия (nomer,cena,kol и т. д) указываю программе поставщика из базы указываю файл и вперед
Программа ищет строку с моими обязательными названиями, смотрит какие присутствуют колонки и обрабатывает, когда в опред колонке исчезает информация обработка
прекращается
Универсально и просто.
В аттаче функции
-определения номера колонки по условному названию
-выделения строки по номеру колонки
Удачи!
=======================
Алексей И.Латухин

(Добавление)
я чего-то не пойму. Имеем 40 прайсов от 40-ка контор в формате xls. Хотим эти прайсы загнать в свою (одну) таблицу. Ваш подход - либо 40 csv, либо 40 алгоритмов обработки ascii-файла. Да, ещё всё время в клипборд по 100 метров запихивать
А не кажется, что надо думать не над тем как разные форматы данных загнать в одну таблицу, а над тем чтоб прекратить бардак и создать условия для автоматизации?

--
С уважением, SAN mailto:vgsan@yandex.ru

Что конкретно в данном случае предлагается сделать?

--
Best regards,
Maxim Yemelyanov

Надо облегчать себе жить в условиях тех, какие нам не дано изменить. Для этого я dpquery кстати и делал, и мне теперь по барабану, в ёкселе исходные данные, аксессе, dbf-е или на mssql-е

С уважением, Михаил

интересная, конечно, штука это dpquery.
а можно ли ее использовать с ШВС ?

--
Mfg,
Anton


А что мешает? Это же библиотека, прилинковал её и вызывай методы класса.
Если Вы имеете в виду шаблон, который есть в архиве, то он для Legacy и ABC, наверно и в ШВС будет работать. Только шаблон сырой очень, а дорабатывать лень ;^) да и не нужно никому нахрен

С уважением, Михаил


(Добавление)

А считывать как техтовый фаил и опозновать разделитель слабо. Да и вопрос был в принципе для каждой ситуации нужен отделныи подход. А гимаррой само собой рядышком с Clarion'ом

Liudvikas Jagucanskis <lwj@wireless.lt>

Мне недавно надо было считывать много разнообразных данных из полусотни таблиц Ёкселя, причём в F1 они не грузились, были слишком длинные поля, да и нужная информация размещалась в разных местах/закладках таблицы, не хотелось всё время переписывать программу.

Сделал так. Выделял интересующий кусок таблицы и кидал в Буфер обмена.
Сделал небольшую процедуру, разбирающую буфер обмена, и выкладывающую поля в очередь. А потом эту очередь уже забирал из Клариона.
Если операция разовая, такой подход имеет право на существование. Да и если не разовая, тоже, наверное, имеет...

---------------------------------------
C уважением,
Юрий Философов

(Добавление)

А в excel работать не умем и скопировать в отдельную таблицу в нужной структуре тоже невозможно. Лутше чтоли сорок раз по разу....

Liudvikas Jagucanskis <lwj@wireless.lt>
Написал: ClaList(2)
Ответить