Скрипт импорта XLS через ADO DB
подойдет скрипт на VBA или на 1с 7.7
исходные данные
через ADO DB в 1С 7.7 импортируется построчно большой прайс лист (35К строк).
задача:
по ходу импорта в этом XLS прайсе, заполнять колонку "статус" (изначально её в прайсе нет)
т.е.
1. открыли файл
2. добавили крайней справа колонку "статус" (если в прайсе 10 колонок, то статус будет 11-ой)
3. импортируем построчно, результат импорта пишем в колонку "статус" (для каждой строки в прайсе)
4. закрыли файл, сохранив изменения.
сам парсинг прайса делать не надо, нужно сделать чтобы писалась и сохранялась инфа в XLS файле.
пример скрипта, который пишет, но данные не сохраняются в файле после закрытия Recordset.
Connection = СоздатьОбъект("ADODB.Connection");
файл_прайс="d:\1.xls";
СтрокаПодключения = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source="+СокрЛП(файл_прайс)+";Extended Properties=""Excel 12.0 Xml;Mode=ReadWrite;ReadOnly=0;HDR=No;IMEX=1;""";
Connection.Open(СтрокаПодключения);
rs = CreateObject("ADODB.Recordset");
rs.ActiveConnection = Connection;
rs.CursorLocation = 3;
rs.CursorType = 3;
rs.LockType = 4;
cat = СоздатьОбъект("ADOX.Catalog");
cat.ActiveConnection = Connection;
rs.Source = "Select * from ["+cat.Tables(0).Name+"]";
rs.Open();
Пока Число(rs.EOF()) = 0 цикл
rs.Fields(1).Value=111;
rs.Update();
rs.MoveNext();
КонецЦикла;
rs.Close()
-
Если не обязательно через ado, то можно сделать легко. Но скорость чтения будет гораздо ниже.. На большом файле будет ощутимо. Сегодня ближе к вечеру поэкспериментирую с ado , вроде когда-то делал подобное.
-
ado как раз для скорости и используется
поэтому нужно него через него
-
спасибо, буду ждать
-
спасибо, буду ждать
-
Наш МХ позволяет быстро работать с очень большими файлами и сложной логикой. Предлагаю вне конкурса и бесплатно сделать Ваш заказ (как запасной дополнительный вариант). Нам важно протестировать свой инструмент на реальных задачах. Нужен образец или весь файл.
-
Здравствуйте,
перед rs.close, надо сохранить рекордсет в файл.на VBA: .Range("A1").CopyFromRecordset rs
-
Актуальні фриланс-проєкти в категорії Десктопні додатки
Модифікація в роботі емулятора
2000 UAH
Доброго дня. Я скачав з Інтернету емулятор ігрового автомата gaminator cf final. Він мені дуже сподобався, але там є недоліки. Є адмін панель, але вона відкривається вільно, але не закривається взагалі. Закривається тільки разом з додатком. А дані, після зміни в адмін панелі -… Десктопні додатки ∙ 4 дні 3 години тому ∙ 10 ставок |
Розробка кастомного ПЗ (Android-додатка + CMS) для кіосків самообслуговування SUNMI K2 (Фастфуд)
1000 UAH
Шукаємо досвідчену команду або Middle/Senior Android-розробника (можливо, з Full-stack навичками) для створення власного програмного забезпечення для кіосків самообслуговування ритейл-мережі закладу швидкого харчування. Зараз наші термінали працюють на базі готового хмарного… CMS, Десктопні додатки ∙ 8 днів 23 години тому ∙ 23 ставки |