Книга знаний |
|
1С:Предприятие / Приемы программирования / OLE, COM |
|
В статье рассмотрен один из вариантов чтения данных из файла Excel.
Для соединения используется провайдер Microsoft ACE OLEDB 12.0, что позволяет читать файлы без установки Excel. Чтение данных осуществляется запросом на языке SQL. | Автор статьи: aleks-id | Редакторы: decdmb, Последняя редакция №5 от 30.01.12 | История URL: http://kb.mista.ru/article.php?id=865 |
СтрокаПодключения = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source = "+Путь;
СтрокаПодключения = СтрокаПодключения + "; Extended Properties = "+"""Excel
12.0"+";HDR=NO;IMEX=1"";";
// Подключаемся
Об_Конект = Новый COMОбъект("ADODB.Connection");
Попытка
Об_Конект.Open(СтрокаПодключения);
Исключение
Сообщить ("Невозможно подключится к Microsoft Excel Driver!!!
|Возможно файл ["+Путь+"] открыт другим пользователем.");
Возврат;
КонецПопытки;
СтрЗапроса = "
|SELECT *
|FROM [A" + Формат(НачальнаяСтрока,"ЧГ=0") + ":CZ" + Формат(КонечнаяСтрока,"ЧГ=0") + "]
|"; //данный запрос выбирает все заполненные ячейки листа, однако можно наложить условия
отбора. синтаксис SQL
Попытка
RecordSet = Об_Конект.Execute(СтрЗапроса);
Исключение
Сообщить("Не удалось выполнить запрос к файлу Excel
|"+ ОписаниеОшибки(),СтатусСообщения.Важное);
Возврат;
КонецПопытки;
Пока НЕ RecordSet.EOF() Цикл
//Дальше обрабатываем RecordSet
ЗначениеКолонки1 = RecordSet.Fields(0).value;
ЗначениеКолонки2 = RecordSet.Fields(1).value;
....
RecordSet.MoveNext();
КонецЦикла;
Описание
| Рубрикатор
| Поиск
| ТелепатБот
| Захваченные статьи
| Установки
| Форум
|