Excel через ADO

19.11.07

Интеграция - Загрузка и выгрузка в Excel

Маленькая универсальная обработка Excel с помощью ADO

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование SM По подписке [?] Купить один файл
ТЕСТ чтение Ексель.zip
.1194952121 10,98Kb
765
765
1 SM
Скачать Купить за 1 850 руб.

Фишка в том, что вы задаете, что и откуда брать, а функция возвращает ТЗ.

СтруктураКолонок = СоздатьОбъект("СписокЗначений");
СтруктураКолонок.ДобавитьЗначение(1,"Артикул"); //где цифры это номера колонок Екселя, "Артикул" идентификатор возврата
СтруктураКолонок.ДобавитьЗначение(2,"Товар");
СтруктураКолонок.ДобавитьЗначение(3,"ЕдИзм");
СтруктураКолонок.ДобавитьЗначение(4,"Кво");
Таб = глРаботаСADOОбъктами(СокрЛП(ИмяФайла),1,Нач,Кон,СтруктураКолонок);

Права режу для того, чтобы оставляли свои мнения!

См. также

Банковские операции Загрузка и выгрузка в Excel Бухгалтер Пользователь Платформа 1С v7.7 Конфигурации 1cv7 Россия Бухгалтерский учет Платные (руб)

Решение предоставляет комплексную загрузку банковской выписки из CSV, XLS, TXT файла в 1С 7.7 любой конфигурации. Позволяет создавать документы выбранного вида, например "Строка выписки банка (приход/расход)", или многострочный табличный документ, например Выписка, для каждой операции из загружаемого файла банковской выписки. Загружает реквизиты документа, а также создаёт контрагентов и другие необходимые элементы справочников.

3588 руб.

29.07.2021    21909    15    22    

15

Загрузка и выгрузка в Excel Программист Платформа 1С v7.7 Абонемент ($m)

Сводная таблица Excel из 1С - как сделать ее программно через COM соединение.

1 стартмани

30.07.2021    6511    1    atdonya    1    

2

Загрузка и выгрузка в Excel ККМ Программист Бухгалтер Пользователь Платформа 1С v7.7 1С:Комплексная 7.7 1С:Торговля и склад 7.7 Бухгалтерский учет Управленческий учет Абонемент ($m)

Выполняет выгрузку товаров (всех, только с признаком в прайсе, только из указанной папочки) с гибкой настройкой выгружаемых данных. Формируется файл в формате XLSX подходящий для прямой удаленной загрузки в кассовый аппарат АТОЛ 91Ф/92Ф и им подобных, имеющих управление через Личный кабинет АТОЛ (lk.atol.ru).

1 стартмани

31.01.2021    8308    2    &-rey    1    

4

Загрузка и выгрузка в Excel Логистика, склад и ТМЦ Программист Пользователь Платформа 1С v7.7 1С:Комплексная 7.7 Управленческий учет Абонемент ($m)

Обработки группового дополнения данных о номенклатуре. Ввод веса и объема существующих товаров вручную в форму таблицы значений и затем запись в справочник Номенклатуры и Единиц. Закачка весов и объемов существующих товаров из Эксель в справочник Номенклатуры и Единиц. Загрузка внешних кодов товаров из Эксель в справочник Номенклатуры. Редактирование внешних кодов товаров в форме списка. Дозаполнение реквизитов существующих товаров из Эксель (ключевые поля - штрихкод, наименование, внешний код).

1 стартмани

11.10.2019    12045    2    ksnik    2    

2

Оптовая торговля Загрузка и выгрузка в Excel Пользователь Платформа 1С v7.7 Конфигурации 1cv7 Оптовая торговля, дистрибуция, логистика Управленческий учет Абонемент ($m)

В данной публикации приведены примеры обработок обмена дистрибьютора с поставщиками и покупателями через Эксель. Создание товаров-новинок. Автоматическое формирование Заказа поставщику по продажам. Заполнение бланка заказа поставщику. Загрузка приходной накладной от поставщика. Загрузка любых справочников из Эксель, например товарных сертификатов. Выгрузка прайслиста в бланк заказа (создание бланка заказа). Загрузка заявки покупателя из произвольного файла Эксель. Загрузка заявки покупателя из бланка заказа.. Для работы требуется установленный MS Excel.

1 стартмани

08.09.2019    16428    10    ksnik    2    

3

Загрузка и выгрузка в Excel Перенос данных 1C Программист Пользователь Платформа 1С v7.7 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv7 1С:ERP Управление предприятием 2 Абонемент ($m)

Описание технологии загрузки любых адресов из 1С 7.7 с разложением по ФИАС в современные конфигурации 1C 8.3 на примере ERP. Предлагаемый способ просто чудо, он гарантирует результат, он очень простой и качественный! Моя обработка является синтаксическим анализатором, который подставляет в строку грязного адреса выражение "Дом №" и "Корпус", благодаря чему грязные адреса 7.7 сами очень хорошо раскладываются по значимым полям ФИАС - заполняется область, город, улица, дом, корпус.. все раскладывается само с помощью встроенного механизма современных конфигураций 1С 8.3, который написали сами сотрудники фирмы 1С!

1 стартмани

16.08.2019    19532    18    ksnik    12    

8

Загрузка и выгрузка в Excel Оптовая торговля Розничная торговля Перенос данных 1C Программист Платформа 1С v7.7 Платформа 1С v8.3 1С:Управление торговлей 10 1С:Комплексная 7.7 1С:ERP Управление предприятием 2 Управленческий учет Абонемент ($m)

Описание практического опыта переноса данных из двух устаревших учетных систем в одну современную с обобщением справочников (например номенклатуры, контрагентов, партнеров) и объединением учетных данных устаревших систем в единую новую УС применяя комбинацию стандартной загрузки из Эксель и КД2. Данная публикация является примером переноса данных из сильно устаревших и сильно переписанных конфигураций 1С:Предприятия 7.7 и 8 в современную 1С 8.3 своими силами при условии невозможности или нежелания пользоваться обновлением релизов и типовой функциональностью универсального обмена данными типовых мастеров переноса данных. Отличительной особенностью публикации является устранение зависимости от версий релиза конфигураций, отказ от обновлений устаревших конфигураций.

1 стартмани

29.07.2019    21320    16    ksnik    0    

6
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. sashulyT 201 13.11.07 14:18 Сейчас в теме
Интересненько.
Раз ознакомитеьлная, надо б коментарием в текст побольше написать.
flex2002; +1 Ответить
3. sashulyT 201 13.11.07 15:11 Сейчас в теме
Sasha_H, в (1) я имел ввиду комментариев в код
2. logarifm 1120 13.11.07 14:55 Сейчас в теме
Кстати когда работа через АДО Ексель ненужен
4. logarifm 1120 13.11.07 15:16 Сейчас в теме
Кста, писал с форумов Миста.ру и с книги.
5. vovan519 276 13.11.07 15:26 Сейчас в теме
Ну рано или поздно попадется клиент без MS Officа и без Open Officа, и конечно ADO будет актуален. Разница в скорости конечно впечатляет, поэтому при большом количестве строк ADO лучше. Надеюсь доработаешь. (закрыть файл за собой, открытый через Excel.Application, количество строк через ADO, преобразование типов через ADO - числа, даты). Ну и чтоб считать обработку законченной - загрузка через OpenOffice. (могу скинуть примерчик). +1 авансом :)
6. logarifm 1120 13.11.07 15:40 Сейчас в теме
Насчет преобразования, есть там недочеты я на них не зацикливался, если верно подать дату в Ексель то АДО отдаст ее верно в ТЗ, а сдесь дело программера он веть знает, что колонка "2" у него с датами вот пускай и работает. Но это мое ИМХО, я просто чисто ради прммера выклал тем более она вполне рабочая и функциональная, далее я думаю буду раздувать ее функционал, просто для начинающего программера это будет хорошим приммером и думаю максимально понятным без наворотов и т.п.

Что же насчет закрытия АДО, я же сделал:
АДОЗапись.Close();
АДОСоединение.Close();

Насчет закрытия Екселя, буду признателен, а то никак не смог реализировать в 7.7

И еще при использовании 1С 8.х без АДО необойтись, там сумашедшая разница в производительности, 8.х почему-то хуже обрабатывает Ексель через СОМОбъект чем 7.7
7. константин 571 13.11.07 19:52 Сейчас в теме
8. CheBurator 2696 13.11.07 21:35 Сейчас в теме
Кто мне все-таки ответ когда-нибудь?
Если в эксель-файле есть вычисляемый столбец С=А+Б) - при работе через адо (когда на машине нет офиса) будет возвернуто правильное значение вычисляемого столбца? и кто производит вычисление в таком случае?
9. logarifm 1120 14.11.07 08:38 Сейчас в теме
Этого точно не скажу, но нельзя все полагать на АДО, нужно и самому чуток думать если в таких случаях значение не будет вернуто правильно, значит нужно узнать формулу и вычислить (это как вариант).
12. CheBurator 2696 14.11.07 11:31 Сейчас в теме
(9) О как интересно!
> Если в таких случаях значение не будет вернуто правильно,
Если в таких случаях значение не будет вернуто правильно?
10. Близнец 14.11.07 10:30 Сейчас в теме
Интересная возможность. Я как-то об этом и не задумывался. А можно через ADO записать? Например вместо select использовать insert.
Закрыть Эксель:
ОкноЕхел=СоздатьОбъект("Excel.Application");
ОкноЕхел.WorkBooks.Close(); - почему-то у меня закрывает все открытые книги, остается только пустое окно.
ОкноЕхел.Quit(); - полностью закрывает Эксель со всеми книгами.

11. logarifm 1120 14.11.07 10:32 Сейчас в теме
13. logarifm 1120 14.11.07 11:34 Сейчас в теме
Слушай ты чего хочеш??? Я выкинул тестовый приммер. Тебе интересуют формулы копай... Я в эту обработку не выкладывал полной функциональности, а положил чисто для приммера работы с АДО.
14. CheBurator 2696 14.11.07 12:52 Сейчас в теме
Хочу чтобы было указана область применимости данной разработки... пока даже непонятно - можно ли ее даже для чтения данных юзать...?
-0.5
15. logarifm 1120 14.11.07 15:21 Сейчас в теме
(14) а В САД можно...
Для особо одаренных область проста, тест применения АДО-загрузки с Екселя....
16. Abadonna 3964 14.11.07 17:16 Сейчас в теме
Вопрос как автора MPlus:
Прогрес.SleepTime(0); зачем?
или от отладки осталось?
17. logarifm 1120 15.11.07 10:09 Сейчас в теме
(16) Скорей всего пропустил...
18. Abadonna 3964 18.11.07 18:04 Сейчас в теме
Расширение к файлу добавь: скачивается просто ТЕСТ, без .ert
Lexa_msk; +1 Ответить
19. anton905 06.12.07 07:04 Сейчас в теме
спасибо, помогло!!!! - голова забита разным..., а сделать перегрузку надо было сделать уже вчера..
lafanata; +1 Ответить
20. Dmitry100 27.05.08 13:59 Сейчас в теме
Полезная штука. Ну не в мсдн же лезть чтоб посмотреть.
21. cleaner_it 221 20.06.08 05:20 Сейчас в теме
При чтении через ADO надо обязательно заранее знать структуру колонок (хотя-бы их число). В противном случае надо указывать максимальное количество колонок (предположительно), и юзать код:

Попытка
ЗначениеЗаписи = АДОЗапись.Fields(iCount).Value;
ВыходнаяТаблицаДанных.УстановитьЗначение(НомерПозТЗ,ИндетификатораКолонки,ЗначениеЗаписи);
//Сообщить("Попытка чтения колонки № "+А+": ("+ЗначениеЗаписи+")");
Исключение
//Сообщить("Попытка чтения колонки № "+А+": (неудачная)");
КонецПопытки;
22. cleaner_it 221 20.06.08 05:33 Сейчас в теме
И названия листов тоже должны быть известны заранее. Попробовал прочитать не книгу, а просто файл Excel (кому интересно - именно так 1С сохраняет свои mxl в xls) - не получилось, нечего читать говорит. Должно быть, для файлов Excel имеется стандартное название единственного листа. Если его узнать, то можно будет пользователю предоставить возможность загрузки книги Excel или файла
23. Pavel_Vladivostok 58 07.04.09 11:33 Сейчас в теме
Классная вещь, пригодится :)
24. pavlo 18.08.09 14:42 Сейчас в теме
ничего подобного, количество листов знать не обязательно, через Command можно получить
25. w-divin 17.10.09 23:47 Сейчас в теме
"Вообще вот нечем народу занятся" (с) аффтар

Мне это не нужно - получите минус...
Оставьте свое сообщение