После первой попытки пакетных загрузок CSV хотелось бы, чтобы процесс был более простым. Поэтому и появился новый макрос пакетной загрузки CSV.
Смысл работы: в одну папку копируются файлы Rastrwin и файлы CSV, при запуске скрипта в каждый файл Rastrwin заносится информация из каждого CSV файла.
Для того, чтобы правильно понять какое действие надо выполнить при импорте файла CSV, его название должно быть специальным.
Шаблоны должны быть следующие:
По умолчанию разделитель в шаблоне имени файла нижнее подчеркивание «_» (этот параметр можно изменить в настройках скрипта).
Имя таблицы можно задать, зная настоящее имя или имя таблицы в программе, например, таблица Узлы называется node, таблица Ветви — vetv.
Если в шаблоне имени файла нет списка колонок, то названия колонок должны быть указаны в первой строке файла CSV. По умолчанию, колонки, которые указываются в имени файла должны разделяться запятой «,» (это тоже можно изменить в настройках), а для колонок, указанных как первая строчка файла CSV, разделителем является точка с запятой «;». Это сделано для того, чтобы при работе с файлом CSV через Excel не было проблем с сохранением и загрузкой данных. Колонки можно задавать как на английском, так и их русское описание, например, столбец ny — это столбец Номер в таблице узлы.
Номер действия — это значения для манипуляции с данными:
Рассмотрим теперь простенькие примеры:
Создадим пустые файлы rg2 и поместим рядом с ними CSV файлы
Будем загружать CSV файлы по порядку csv0-9, указывая в настройках скрипта расширение файлов для CSV (vbTypeCsv), редактируя их в блокноте
Для начала посмотрим содержание файла с расширением csv0:
Запускаем скрипт, который должен добавить в конец таблицы 3 узла, и проверяем результат
Теперь меняем в скрипте расширение на csv1 — замена данных в таблице. Предварительно посмотрим содержание файла csv1:
Результат в программе
Теперь импортируем файл с расширением csv3 — режим объединить, в котором если узлы будут не найдены, они вставятся в конец таблицы, содержание файла csv3
и результат
Теперь запустим обновление данных — тип файла csv2. Только не забываем поменять в настройках скрипта (vbNameDelimiter) тип разделителя на точку с запятой «;». Файл обновления csv2:
И последний файл для импорта с расширение csv9, он должен удалить узлы по ключу, содержимое его и результат выполнения
Как легко создавать файлы CSV для последующего импорта
- Если вы используете копирование через контекстное меню
- Если вы просто копируете данные из таблицы, то не забудьте поставить галочку на копирование название столбцов
При выборе файла указывайте в названии столбцы, по которым производится выгрузка
и после копирования через ctrl+C или контекстное меню Копировать в excel уже готовый файл, который надо сохранить как CSV файл
При работе удобно использовать изменения расширений для файлов, чтобы быстро без редактирования и копирования в отдельные папки производить импорт
Скачать скрипт importCsv_1.35.zip
Скачать примеры importCsvExample.zip