Форум компании Кронос-Информ
https://www.cronos.ru/cgi-bin/YaBB2/YaBB.cgi
Конференции для пользователей >> CronosPRO >> Загрузка данных из Exel
https://www.cronos.ru/cgi-bin/YaBB2/YaBB.cgi?num=1527490702

Сообщение написано Alexandr в 28.05.2018 :: 10:58:22

Заголовок: Загрузка данных из Exel
Создано Alexandr в 28.05.2018 :: 10:58:22
Добрый день, помогите понять как реализовать задачу.
необходимо чтобы пользователь мог САМ загружать в отдельную базу данные из файла Exel  для дальнейшего сравнения с данными в банке
Загружаемые данные № платежного поручения(тестовое поле), ИНН Контрагента (Числовое поле), Наименование контрагента (текстовое поле), условие расчета по договору (Текстовое поле, но сравнение должно производиться со словарным полем моей базы, ) и Сумма платежа (числовое поле)
В банке данных я создал базу с данными полями и туда я руками могу через импорт из файла загружать данные. Но необходимо чтобы пользователь мог по нажатию кнопки выбрать файл и загрузить туда данные (без моего участия) и в дальнейшем необходимо сравнивать эти данные сравнить с данными моего банка.
Вопрос как проще всего реализовать загрузку данных и какие подводные камни  могут быть??  (может как то через формы ввода , может пример какой)
Если что то не так или непонятно написал пишите


Заголовок: Re: Загрузка данных из Exel
Создано w0rm в 28.05.2018 :: 13:08:24
Добрый день!
1)что планируете делать после сравнения?
2)пример БД (скриншот) можете выложить?

Похожую задачу решал так:
создал БД с двумя таблицами, где
первая таблица - пустая база с полями Наименование, ИНН, Адрес и т.д.
вторая таблица - таблица для загрузки файла

Во второй таблице сделал поле с типом Файл.
Загрузил в него файл.
Выполнил код, который забирал из поля Файл нужные данные и переносил их в первую таблицу.

Только формат загружаемого файла был не эксель, а простой текстовый файл.
Можно написать в экселевском файле макрос и повесить его на кнопку, при нажатии на которую пользователь получит txt-файл для загрузки в Кронос.

Заголовок: Re: Загрузка данных из Exel
Создано Alexandr в 28.05.2018 :: 13:34:40
После сравнения должен просто выходить отчет, в котором на против проверенных данных будет выдаваться запись (Данные верны, данные по условию расчета не верны, данные по оплате (верны или не верны) , данные не найдены)
Сравнение будут по производиться по ИНН , номеру счета и условия по расчету платежа и сумме
На счет скриншота базы, какие именно данные необходимы(загружаемой базы, я поля описал, полей для связи там нет) Если данные с которыми будут проводиться сравнения, То данные находятся в нескольких связанных между собой базах (База Фирма(данные по конрагенту), База номер договора и база номер спецификации  Скриншот необходим этой базы или базы куда будут заливаться данные.
Мне бы пример как можно загружать данные (желательно через формы ввода, так чтобы пользователь сам мог по паре кликов импортировать данные в эту базу Кроноса) Так как они планируют загружать данные по несколько раз в день
Вы написали
Выполнил код, который забирал из поля Файл нужные данные и переносил их в первую таблицу.
А можно код посмотреть???

Заголовок: Re: Загрузка данных из Exel
Создано w0rm в 28.05.2018 :: 16:45:45

Alexandr записан в 28.05.2018 :: 13:34:40:
А можно код посмотреть???

[code]
//из таблицы №2 (Т2) данные переносятся в таблицу №1 (Т1)

@data := Т21 //копирование данных их CSV-файла в переменную

@line_end := CHAR(10) //символ переноса строки
//@line_end := CHAR(13) //символ переноса строки - АЛЬТЕРНАТИВНЫЙ ВАРИАНТ
//перенос строки в разных кодировках может быть разным, это
//или CHAR(10)
//или CHAR(13)

@line_count := SCOUNT (@data, @line_end) //подсчёт строк ВСЕГО

@i := 1
WHILE @i <= (@line_count+1) DO (
@line := FIELD (@data, @line_end, @i) //получение одной строки с данными
//внутри строки происходит отрезание блоков, разделителем выступает символ "|"
@KA_name := TRIM (FIELD (@line, "|", 1))
@KA_INN := TRIM (FIELD (@line, "|", 2))
@KA_adress := TRIM (FIELD (@line, "|", 3))
@KA_contract := TRIM (FIELD (@line, "|", 4))
@KA_price := TRIM (FIELD (@line, "|", 5))
@KA_price := SWAP (@KA_price, CHAR(10), "") //удаление символа переноса строки из переменной
@KA_price := SWAP (@KA_price, CHAR(13), "") //удаление символа переноса строки из переменной

//создание новой записи в таблице №1
ADDRECORD (Т1{0},
                                   Т11:=@KA_name;
                                   Т12:=@KA_INN;
                                   Т13:=@KA_adress;
                                   Т14:=@KA_contract;
                                   Т15:=@KA_price;)

@i := @i+1
)
[/code]
00.jpg (398 KB | 292 )

Заголовок: Re: Загрузка данных из Exel
Создано Alexandr в 28.05.2018 :: 18:21:01
Спасибо, попробую завтра под себя переделать

Заголовок: Re: Загрузка данных из Exel
Создано Alexandr в 30.05.2018 :: 04:41:21
Добрый день
Вопрос , есть строки из них необходимо выбрать и передать 2 переменным 2 значения() строки приведены ниже, значения передаю
Первой переменной номер договора(например ДС11/0078/УРАЛ АЗ/17)
@А:=FIELD(@KA_dogovor," ", 4)
@B:=FIELD(@KA_dogovor," ", 5)
РП11:=@А  <<  @B)
Второй(дата договора стоит после договора)
@С:=FIELD(@KA_dogovor," ", 7)
но есть строки с такими номерами договора 06-15 П/12414 АЗ (между 15 и буквой П стоит пробел) и соответственно переменной передаются не верные значения, как можно по другому выбрать правильные значения?
оплата по дог. 10/ДС01/0014/УРАЛ АЗ/17 от 09.01.2017 тмц сф: №00000213 от 27.02.2018 в.т.ч. НДС 3380,4
оплата по дог. 10205 АЗ от 01.08.2013 тмц сф: №28 от 01.03.2018 в.т.ч. НДС 15254,24
оплата по дог. 06-15 П/12414 АЗ от 28.11.2014 тмц сф: №321 от 19.03.2018 в.т.ч. НДС 76271,19
оплата по дог. ДС04/0078/УРАЛ АЗ/17 от 05.07.2017 тмц  в.т.ч. НДС 2320879,11
оплата по дог. ДС11/0078/УРАЛ АЗ/17 от 05.07.2017 тмц  в.т.ч. НДС 2320879,11
оплата по дог. 13632 АЗ от 01.09.2015 тмц сф: №335 от 23.04.2018 в.т.ч. НДС 11809,8

И еще вопрос как удалить первые 3 строки?
И еще вопрос
@KA_price := TRIM (FIELD (@line,";", 10))  10 функция воспринимает как 1 , а не как 10 , что делать?

Заголовок: Re: Загрузка данных из Exel
Создано w0rm в 31.05.2018 :: 16:08:36

Цитировать:
И еще вопрос как удалить первые 3 строки?


Если я правильно понял, первые три строки - это шапка (заголовок) документа.
Чтобы их исключить (удалить), следует добавить условие IF в цикл WHILE
[code]@i := 1
WHILE @i <= (@line_count+1) DO (

IF @i >= 4 THEN (
@line := FIELD (@data, @line_end, @i)
@KA_name := TRIM (FIELD (@line, "|", 1))
@i := @i+1
)

)[/code]


Цитировать:
И еще вопрос
@KA_price := TRIM (FIELD (@line,";", 10))  10 функция воспринимает как 1 , а не как 10 , что делать?

Если функция FIELD не находит 10-ый разделитель, то она выводит 1-ый разделитель.

Заголовок: Re: Загрузка данных из Exel
Создано w0rm в 31.05.2018 :: 16:58:03

Цитировать:
но есть строки с такими номерами договора 06-15 П/12414 АЗ (между 15 и буквой П стоит пробел) и соответственно переменной передаются не верные значения, как можно по другому выбрать правильные значения?
оплата по дог. 10/ДС01/0014/УРАЛ АЗ/17 от 09.01.2017 тмц сф: №00000213 от 27.02.2018 в.т.ч. НДС 3380,4
оплата по дог. 10205 АЗ от 01.08.2013 тмц сф: №28 от 01.03.2018 в.т.ч. НДС 15254,24
оплата по дог. 06-15 П/12414 АЗ от 28.11.2014 тмц сф: №321 от 19.03.2018 в.т.ч. НДС 76271,19
оплата по дог. ДС04/0078/УРАЛ АЗ/17 от 05.07.2017 тмц  в.т.ч. НДС 2320879,11
оплата по дог. ДС11/0078/УРАЛ АЗ/17 от 05.07.2017 тмц  в.т.ч. НДС 2320879,11
оплата по дог. 13632 АЗ от 01.09.2015 тмц сф: №335 от 23.04.2018 в.т.ч. НДС 11809,8


Тут два пути:
1. настроить выгрузку так, чтобы в текстовый файл выводились по отдельности (через разделитель): КА | Договор01 | Договор02 | Договор03 | Сумма01 | Сумма02 | Сумма03
2. писать парсер, который будет корректно (правильно) раскладывать строку, извлекая из неё: КА, все договоры, все суммы.

Если проблема только с пробелами, то я бы использовал другой разделитель: "|" или "#"
исходную строку: оплата по дог. 10/ДС01/0014/УРАЛ АЗ/17 от 09.01.2017 тмц сф: №00000213 от 27.02.2018 в.т.ч. НДС 3380,4
привёл бы к такому виду: оплата по дог. |10/ДС01/0014/УРАЛ АЗ/17| от |09.01.2017| тмц сф: №00000213| от |27.02.2018 в.т.ч. НДС |3380,4
и через FIELD вывел бы нужные мне данные:
Номер договора - 10/ДС01/0014/УРАЛ АЗ/17
Дата договора - 09.01.2017
Сумма по договору - 3380,4

примерная формула для расстановки разделителей
[code]
@A := оплата по дог. 10/ДС01/0014/УРАЛ АЗ/17 от 09.01.2017 тмц сф: №00000213 от 27.02.2018 в.т.ч. НДС 3380,4
@A := SWAP(@A, " дог. ", "| дог. |")
@A := SWAP(@A, " от ", "| от |")
@A := SWAP(@A, " тмц ", "| тмц ")
@A := SWAP(@A, " НДС ", " НДС |")
[/code]

Заголовок: Re: Загрузка данных из Exel
Создано Alexandr в 01.06.2018 :: 11:05:40
Понял , спасибо за информацию, попробую
настроить выгрузку не представляется возможным, так как файл приходит в xls именно в таком виде и на просьбы изменить формат не реагируют,

Заголовок: Re: Загрузка данных из Exel
Создано Энкан в 01.06.2018 :: 15:08:11
А можно пример файла с 10 и более разделителями? прям интересно стало почему фиелд не работает.

Заголовок: Re: Загрузка данных из Exel
Создано w0rm в 01.06.2018 :: 16:57:49

Цитировать:
А можно пример файла с 10 и более разделителями? прям интересно стало почему фиелд не работает.


Виноват, ввёл в заблуждение.
Если функция FIELD не находит 10-го разделителя, то она ничего не выведет.
Перед использованием функции FIELD (или чтобы понять почему не выводится "подстрока")
можно подсчитать количество разделителей с помощью функции SCOUNT

[code]
@delimiter01 := SCOUNT (@line, "|") //считает количество разделителей "|"

@delimiter02 := SCOUNT (@line, " ") // считает количество пробелов
[/code]

Заголовок: Re: Загрузка данных из Exel
Создано Nat_m в 09.07.2018 :: 22:02:29
Добрый вечер! Может быть у кого нибудь есть пример макроса, который выгружает из xls в структурированный txt под cronos? Буду очень признательна.. ::)

Заголовок: Re: Загрузка данных из Exel
Создано Zuluss в 09.07.2018 :: 22:47:44
1. Структурированный текстовый файл может потребоваться для банка со сложной структурой, т.е. при загрузке данных во множество баз связанных с корневой. В других случаях он не нужен.
2. Создать структурированный файл можно и без макросов, путем вставки дополнительных столбцов и указанием в них множественных групп для различных баз, с соответствующей настройкой таблицы импорта. Файл сохраняется с разделителями табуляции, которая потом удаляется в текстовом редакторе.
3. Многие пользуются другой возможностью. Создают промежуточную базу или банк, импортируют туда весь файл excel и затем разносят данные с использованием формул или таблиц обмена в разные базы.

Заголовок: Re: Загрузка данных из Exel
Создано Nat_m в 10.07.2018 :: 09:57:52
Тогда не понимаю в чем дело, может быть подскажите?
Во вложенном файле структура базы и свойства таблицы импорта.

вот структура файла TXT
"ООО ""ННриса"""/14/00000949/""Престиж Клюква""/0,500/120/05.07.2018
"ООО ""ННриса"""/14/00001051/""Престиж Рябина""/0,500/120/05.07.2018
"ООО ""ННриса"""/14/00001112/""Перцовочка""/0,500/1 200/05.07.2018

Что не так?
Untitled-1.jpg (160 KB | 305 )

Заголовок: Re: Загрузка данных из Exel
Создано Пытливый в 10.07.2018 :: 21:19:13
Вот я лично нифига не вижу на вашем скрине, тут и мелкоскоп не поможет :)

Заголовок: Re: Загрузка данных из Exel
Создано Zuluss в 13.07.2018 :: 01:30:52

Цитировать:
Тогда не понимаю в чем дело, может быть подскажите?
Что не так?

Как бы Вам помягче ответить?!
Почти всё не так.
Найдите в файле помощи раздел "Описание структурированного текстового файла" и посмотрите что и как должно быть.

Цитировать:
"ООО ""ННриса"""/14/00000949/""Престиж Клюква""/0,500/120/05.07.2018

На приложенных скринах ничего не разобрать, но по содержанию должно быть примерно так:
++ НН/02 ООО "ННриса"/03 00000949/04 "Престиж Клюква"/05 0.500/06 120/07 05.07.2018/++ КК/

Заголовок: Re: Загрузка данных из Exel
Создано Nat_m в 13.07.2018 :: 12:16:41

Zuluss записан в 09.07.2018 :: 22:47:44:
1. Структурированный текстовый файл может потребоваться для банка со сложной структурой, т.е. при загрузке данных во множество баз связанных с корневой. В других случаях он не нужен.
2. Создать структурированный файл можно и без макросов, путем вставки дополнительных столбцов и указанием в них множественных групп для различных баз, с соответствующей настройкой таблицы импорта. Файл сохраняется с разделителями табуляции, которая потом удаляется в текстовом редакторе.
3. Многие пользуются другой возможностью. Создают промежуточную базу или банк, импортируют туда весь файл excel и затем разносят данные с использованием формул или таблиц обмена в разные базы.

Спасибо, работаю по 3ему варианту. Получается красиво)

Заголовок: Re: Загрузка данных из Exel
Создано iLuhins в 13.07.2018 :: 12:17:38

Zuluss записан в 09.07.2018 :: 22:47:44:
3. Многие пользуются другой возможностью. Создают промежуточную базу или банк, импортируют туда весь файл excel и затем разносят данные с использованием формул или таблиц обмена в разные базы.

А чуть подробнее можно? Не хотелось бы прибегать к поэтапному импорту (вначале макрос в Excel для подготовки УФОД, затем импорт). Формат Excel на другой тоже нет возможности поменять.

Заголовок: Re: Загрузка данных из Exel
Создано Zuluss в 13.07.2018 :: 13:46:47

Цитировать:
А чуть подробнее можно?

Подробнее насколько?
К примеру, поступают регулярно файлы xls с однотипной структурой, данные из которых необходимо импортировать в банк.
Создаем в режиме импорта из файлов внешнего формата базу со структурой взятой из файла xls. В структуре банка прописываете формулы, которые разносят данные из этой промежуточной базы в нужные Вам базы, со статусом обязательная. Это однократная первоначальная настройка.
Идете снова в импорт. Устанавливаете ассоциацию полей в промежуточной базе и файле xls и импортируете данные. Сохраняете этот режим (настройки импорта).
Затем можно удалять данные из промежуточной базы. Можно также предусмотреть еще одно поле и в формулах устанавливать отметку о произведенном импорте, потом анализировать ее и принимать решение об обработке.
Можно формулы по разносу прописать в выходных формах и запускать их после импорта.
Если есть проблемы с изменением структуры банка для добавления новой базы, можно создать отдельный банк, в нем промежуточную базу и после импорта в нее данных производить межбанковский обмен по таблицам обмена или с использованием структурированного текстового файла.

Заголовок: Re: Загрузка данных из Exel
Создано iLuhins в 13.07.2018 :: 20:41:52
Понятно, вручную мы так и делаем. Как это сделать из Луа?

Заголовок: Re: Загрузка данных из Exel
Создано Zuluss в 13.07.2018 :: 21:09:14

Цитировать:
вручную мы так и делаем
...
Не хотелось бы прибегать к поэтапному импорту (вначале макрос в Excel для подготовки УФОД, затем импорт)

Интересно.
А зачем тогда спрашивать, да ещё и подробнее, если все уже используется?! И это уже не макрос в xls для подготовки УФОД.
Что Вы хотите от Lua?
Можно делать то же самое.
Можно в элемент "Текст" вставлять данные из xls и парсить их.

Заголовок: Re: Загрузка данных из Exel
Создано iLuhins в 20.07.2018 :: 19:11:32
Я хочу от Луа, чтобы он (или она?  ;) ) делали за меня всю рутинную работу.

Нашел решение использовать библиотеку tluaCOM.cpp.
Все работает, но если лист в Excel имеет русское название происходит ошибка "исключение tluaCOM.cpp,398".

Code (javascript):
...for _, _sheet in ipairs(settings.workbook.sheets) do
     MsgBox("Получение базы" )
     local base = bank:GetBase(_sheet.target_base)
     ...
     
     --"Выполнение запроса, имя листа ".._sheet.name)
     local res, errmsg = DBExec("select * from [".._sheet.name.."$]")
     

Может кто знает как победить?
encode decode не подходят.

Заголовок: Re: Загрузка данных из Exel
Создано Zuluss в 20.07.2018 :: 22:45:38
Из приведенного куска кода не видно способа  получения объекта DBExec.
Вы подключаетесь через dbConnect?
Если так, то в SQL запросах всегда были проблемы с кодировками.
Если Вы получаете все таблицы перебором (workbook.sheets), то зачем делать запросом?
Находите крайние столбцы и колонки и перебираете их, с получением всех данных.

Заголовок: Re: Загрузка данных из Exel
Создано iLuhins в 20.07.2018 :: 23:27:32
Прилагаю файл с кодом. Изначально это был скрипт для планировщика. Он еще не полностью отлажен, споткнулся на указанной проблеме. Параметры передаются через файл с настройками, в нем как раз и указывается имя листа.

Сами данные на русском языке загружаются нормально, проблема только с названием листа. Хотелось бы сделать универсальный код, а не перебирать листы, потому что загружать необходимо не все, а выборочно.
https://www.cronos.ru/cgi-bin/YaBB2/YaBB.cgi?action=downloadfile;file=luacom.txt (7 KB | 285 )

Заголовок: Re: Загрузка данных из Exel
Создано Zuluss в 21.07.2018 :: 00:49:16

Цитировать:
... проблема только с названием листа...

Через ADOdb эта проблема не только в xls.
Даже на чтение имен таблиц в в аксессе и dbf эта проблема существует.
Надо было в драйвере ADOdb устанавливать кодировку. Сейчас уже не помню, но вроде UTF-8.

Заголовок: Re: Загрузка данных из Exel
Создано Zuluss в 21.07.2018 :: 19:47:06
К сожалению я не являюсь обладателем версии с работающим COM модулем и "серийником", позволяющим его использовать, и не могу полноценно все проверить.
Была проведена проверка с автономной версией Lua и подключенной библиотекой luacom.
У подключения через ADODB есть проблемы с кодировками в SQL запросах и в выдаче наименований листов.
У непосредственного подключения через luacom.CreateObject("Excel.Application") тоже проблемы с получением кириллицы.
Поэтому можно предложить следующие варианты:
1. переименованием листов в латиницу, используя COM или vbs/vba;
2. Использованием только vbs/vba для извлечения данных. Работает хорошо;
3. Конвертировать листы в XML или HTML и парсить их;
4. Сохранять листы в tab или csv и парсить их;
5. В специально созданном банке типа "Excel" подменять файлы и обращаться к банку.
Варианты этим не исчерпываются.

Заголовок: Re: Загрузка данных из Exel
Создано iLuhins в 26.07.2018 :: 09:02:34
Проблема с названиями на русском решена. Решение оказалось из области комического :)
Спутало меня то, что все сказали о проблемах с русской кодировкой в запросах и я искал в этом направлении. Хотя подключение этого же листа в виде банка типа Excel и типа ADO проходит нормально.
Изучил попутно подключение в Кроносе экземпляра Excel. Из него взял название листа и ввел себе в переменную, все заработало. В итоге выяснилось, что лист у меня назывался не "Список", а "Список ", т.е. с пробелом. Оказывается Excel вполне себе может позволить создать таких два листа и считать их разными (Зато букву "Ж" не дает написать :) ). Что за злодей так сделал, выясняю >:( . После исправления названия листа, все заработало, проблем с русской кодировкой на самом деле у меня не было.

Прикладываю файл с кодом формы и файлом настройки, может кому пригодится. Файл настройки по умолчанию должен лежать в папке банка. В нем описывается таблица импорта. Для пользователя так удобнее, не надо в код лезть.

p.s. Не рассчитываю на оптимальность кода, сейчас придет Зулусс и напишет все в 2 строчки  :D , но я к этому стремлюсь.
https://www.cronos.ru/cgi-bin/YaBB2/YaBB.cgi?action=downloadfile;file=Code.rar (3 KB | 254 )

Заголовок: Re: Загрузка данных из Exel
Создано Zuluss в 01.08.2018 :: 17:51:56
Zuluss пришел, значит сейчас наступило  :).
1. С буквой "Ж" забавно. Копированием/вставкой воспринимается нормально.
2. Посмотрел на код. Какой то симбиоз стилей и языков. Ну это кому как нравится. В коде встретился оператор continue :o. В версии 5.1 для CronosPro такого вроде не было. Специально посмотрел версии Lua 5.2 и 5.3. Не нашел. Обнаружил в версии 5.2 появление оператора goto  :) >:(.
3. Провел испытания на автономном интерпретаторе Lua с luacom трех различных вариантов загрузки из XLS файлов.
3.1 Вариант с ADODB.
3.2 Вариант с Excel.Application и перебором  ячеек.
3.3 Вариант с Excel.Application, сохранением листа в файл и его парсингом Lua.
Докладываю результаты.
Вариант 1, которым Вы пользуетесь, оказался в пять раз быстрее варианта 2.
Вариант 3 оказался почти в 10 раз быстрее, чем вариант 1.
Вполне возможно, что проблемы с перекодировкой  юникодных данных в ASCII в CronosPro решены, но  в luacom они присутствуют.
Засим кланяюсь.

Заголовок: Re: Загрузка данных из Exel
Создано Leo в 02.08.2018 :: 04:21:01
Практика (жизненная) показала, что извлекать данные из Экскоя лучше через сохранение в текстовый файл. Не все так просто с этим Экселем…..  ;) 8-)

Заголовок: Re: Загрузка данных из Exel
Создано iLuhins в 04.08.2018 :: 05:44:20
Re: Какой то симбиоз стилей и языков
Собственно изначальный код был не мой, я исправлял и добавлял, поэтому так. Надо было как всегда "вчера" сделать. Теперь обязательно посмотрю на предмет стиля.
Спасибо за исследование, будем изучать.

Заголовок: Re: Загрузка данных из Exel
Создано likbez в 12.03.2021 :: 12:27:09

Leo записан в 02.08.2018 :: 04:21:01:
Не все так просто с этим Экселем…..  ;) 8-)


вот и у нас не получилось; *.xlsx не видит вообще, а если ПЕРЕсохранить в *.xls - тогда, во-первых - при подключении источника-Эксель-файла выдаёт "ошибка DAO код:3275" CronosPlus 3.00.185, а CronosPro 5.0.11003 импортирует только первые 65535 строк, и даже в них некоторые колонки - пустые. Подскажите, пожалуйста, алгоритм на 100-500% корректного переноса данных более 100 тыс. строк в 15 колонах из Excel-2010 в Кронос любой версии.

Заголовок: Re: Загрузка данных из Exel
Создано Zuluss в 12.03.2021 :: 15:03:08
Сохраняете в текстовом формате CSV или TAB и импортируете. Никаких ограничений.

Заголовок: Re: Загрузка данных из Exel
Создано likbez в 17.03.2021 :: 13:21:49
как последовательно импортировать такие CSV?

Заголовок: Re: Загрузка данных из Exel
Создано Zuluss в 17.03.2021 :: 13:33:22
Вариантов много. Например, объединить все csv файлы в один. Это можно сделать в командной строке windows или dos

Заголовок: Re: Загрузка данных из Exel
Создано likbez в 17.03.2021 :: 13:36:36
объединить мы можем (хотя на выходе получится не один гигабайт), но как его потом импортировать?

Заголовок: Re: Загрузка данных из Exel
Создано Zuluss в 17.03.2021 :: 14:03:26
Если у Вас версия ниже 6.4, Проектирование структуры - Импорт из файла. В более новых версиях этот режим в Обработка-Импорт-Из внешних источников

Заголовок: Re: Загрузка данных из Exel
Создано likbez в 17.03.2021 :: 18:14:45
версия 5.0.11003, но висит до бесконечности на этапе https://prnt.sc/10o95dh

Заголовок: Re: Загрузка данных из Exel
Создано Leo в 17.03.2021 :: 21:07:19

likbez записан в 17.03.2021 :: 18:14:45:
версия 5.0.11003, но висит до бесконечности на этапе https://prnt.sc/10o95dh

на этапе сохранения данных
проверьте свой диск

Заголовок: Re: Загрузка данных из Exel
Создано Zuluss в 17.03.2021 :: 21:41:38

Цитировать:
...висит до бесконечности на этапе...

Очень странно. В этой версии при импорте индексы не строились. Их нужно перестраивать принудительно. Надо посмотреть на загруженные данные. Они есть или нет?
Так или иначе необходимо обратить внимание на следующее:
- соответствие формата имеющихся в файле данных и автоматически определяемых при его открытии. Т.е. если поле в файле определилось как дата, данные должны быть везде корректными датами. Аналогично с числами. Для проверки можно принудительно поставить все данные как текст.
- удалить в банке все индексы в полях, а после загрузки построить их заново.
- проверить отсутствие в данных лишних переводов строки, которые могут быть в ячейках excel.

Заголовок: Re: Загрузка данных из Exel
Создано likbez в 17.03.2021 :: 21:57:23
размеры файлов остаются по 1 кб, и остановить процесс невозможно (только снять задачу) - импорт не происходит. может в пустой таблице кроноса надо вручную воссоздать все поля с точными названиями - как у источника в текстовом файле?

Заголовок: Re: Загрузка данных из Exel
Создано Zuluss в 17.03.2021 :: 22:10:32
А Вы создали ассоциации базы и файла, полей базы и полей файла?
Файлы и не должны изменяться, а проверить наличие импорта можно либо запросом, либо Администратор-Информация о базах.

Заголовок: Re: Загрузка данных из Exel
Создано likbez в 18.03.2021 :: 00:37:29
нет, полей в пустой базе не создавал, что-то не нашел инструкции. думал - поля создадутся автоматом при импорте.

Заголовок: Re: Загрузка данных из Exel
Создано Zuluss в 18.03.2021 :: 01:01:41
Скачайте документацию с сайта. Там описан импорт из внешних источников.
Можно в режиме импорта нажать кнопку Скопировать структуру целиком.

Форум компании Кронос-Информ » Powered by YaBB 2.5.2!
YaBB © 2000-2009. Все права защищены.

Localization by mySOPROMAT.ru