helpf.pro
Регистрация
 0 
Распечатать

Загрузка данных из MS Excel через объект ADODB

Данный метод обладает гораздо большей производительностью и простотой, чем банальный объектный метод через COM соединение.

Все что потребуется это создание 2 объектов
* ADODB.Connection
* ADODB. Recordset

Код 1C v 8.х
 // Выполняет загрузку из файла Excel
// Параметры
//  ПутьКФайлу  - <Строка>            - путь к файлу xls
// Автор: ---%%%Gmix 16.03.2006 12:38:48
// Возвращаемое значение:
//   <Булево>   – Истина загрузка произошла
//                       - Ложь загрузки не было
Функция ВыполнитьЗагрузку(ПутьКФайлу) Экспорт

            Файл=Новый Файл(ПутьКФайлу);

            Если Файл.Существует() Тогда
                        Стр_Файл=Файл.ПолноеИмя;
                        // Отрезаем слеш если он есть в конце пути
                        Стр_Путь=Файл.Путь;
                        Если Прав(Стр_Путь,1)="\" Тогда
                                   Стр_Путь=Лев(Стр_Путь,СтрДлина(Стр_Путь)-1);
                        КонецЕсли;
                     // Строка корнекта
                    Стр_Конект = "Driver={Microsoft Excel Driver (*.xls)};
                    |DriverId=790;
                    |Dbq="+Стр_Файл+";
                    |DefaultDir="+Стр_Путь+";"; 
                        Об_Конект = Новый COMОбъект("ADODB.Connection");
                        Попытка
                                    Об_Конект.Open(Стр_Конект);           
                        Исключение
                                   Сообщить ("Не возможно подключится к Microsoft Excel Driver!!!
                                   |Возможно файл ["+Стр_Файл+"] открыт другим пользователем.");
                                   Возврат Ложь;
                        КонецПопытки;

// формируем запрос
// Здесь есть нюанс первая строка данных всегда будет являться заголовком
// если она пустая то имена клонок формируются следующим образом F<Номер колонки>
               Стр_SQL = "S_elect
                |     F1 as Артикул,
                |     F2 as Наименование,
                |     F3 as ПолноеНаименование
                | FROM [A1:AZ100000]
                | WHERE ((F1 Is Not Null) AND (F1 <>''))";
                        Об_РекордСет = Новый COMОбъект("ADODB.Recordset");

                        Попытка
                                   Об_РекордСет=Об_Конект.Execute(Стр_SQL);
                        Исключение
                                   Сообщить("Не удадлось выполнить запрос к файлу Excel
                                   |"+ ОписаниеОшибки(),СтатусСообщения.Важное);
                                   Возврат Ложь;
                        КонецПопытки;

                        Пока НЕ Об_РекордСет.EOF Цикл
                                   // Получаем данные из Об_РекордСет
                                   // ...
                                  Сообщить("");
                                  Для каждого ОБ_Поле Из Об_РекордСет.Fields Цикл
                                     // Пример вывода информации Сообщить(ОБ_Поле.Name,Об_РекордСет.Fields(ОБ_Поле.Name).value); 
                                   КонецЦикла;
                                   // ...
                                   Об_РекордСет.MoveNext();
                        КонецЦикла;

                        Об_Конект.Close();     // Закрываем конект
                        Об_Конект=Неопределено;
                        Об_РекордСет=Неопределено;
                    
                        Возврат Истина;
            Иначе
                        Сообщить("Файл "+ПутьКФайлу+" не найден!");
                        Возврат Ложь;
            КонецЕсли;
КонецФункции   
Разместил:   Версии: | 8.x |  Дата:   Прочитано: 21457
 0 
Распечатать
Возможно, вас также заинтересует
17 правил для составления оптимального ЗАПРОСа к данным базы 1С 53
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ
Cодержимое указанного ниже веб-сайта в этом приложении блокируется... Aboutsecurity_1cv8c.exe 2
Проблема: После обновления на 1С:Бухгалтерию предприятия 3-й версии, при нажатии на закладку командного интерфейса 1С:предприятие, выскакивает ошибка: Aboutsecurity_1cv8c.exe или Aboutsecurity_1cv8.exe «Содержимое указанного ниже веб-узла в э
HTML5 Canvas в 1С 8.3 или Google нам поможет 0
Добрался я для написания маленьких тестов для 1С в плане web графики. Версии 1С 8.2.61 и 8.3.3.641. Зайдем на http://www.w3schools.com/html/html5_canvas.asp и перенесем примеры в обработку 1С. Скачать обработку: Результаты не радуют. 1С в Intern
QR код в 1С 21
Столкнулся с интересной задачей реализации генерации QR-кода в 1С 8.2 ( QR-код — матричный код (двухмерный штрихкод) ) Для генерации было использовано api от google (http://chart.apis.google.com/chart). Вот сайт , который работает с ним. После тог
ZIP-архив Создание 0
Для того чтобы записать файлы в ZIP-архив необходимо выполнить несколько простых действий: * Создать архив с необходимыми параметрами, в который будут помещаться файлы. * Поместить в архив необходимые файлы. * Записать архив. Создание объекта За
Посмотреть все результаты поиска похожих
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.
Загрузка... Дождитесь завершения!