Книга знаний |
|
1С:Предприятие / Приемы программирования / OLE, COM |
|
В статье рассмотрен один из вариантов чтения данных из файла Excel.
<br>Для соединения используется провайдер Microsoft ACE OLEDB 12.0, <br>что позволяет читать файлы без установки Excel. <br>Чтение данных осуществляется запросом на языке SQL. | Автор статьи: aleks-id | Редакторы: decdmb, Волшебник Последняя редакция №7 от 19.03.13 | История 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();
КонецЦикла;
Описание
| Рубрикатор
| Поиск
| ТелепатБот
| Захваченные статьи
| Установки
| Форум
|