Это старая версия документа!
Чтение Excel в Таблицу значений (через подключение к COM-Excel
&НаКлиенте
Процедура ОткрытьФайл(Команда)
ОчиститьСообщения();
СтандартнаяОбработка = Ложь;
ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
ДиалогОткрытияФайла.ПолноеИмяФайла = "";
ДиалогОткрытияФайла.МножественныйВыбор = Ложь;
ДиалогОткрытияФайла.Заголовок = НСтр("ru = 'Выберите файл'; uk = 'Виберіть файл'");
ДиалогОткрытияФайла.Фильтр = "Файлы MS Excel|*.xls;*.xlsx";
ДиалогОткрытияФайла.Показать(Новый ОписаниеОповещения("ПоказатьДиалогВыбораФайлаЗавершение", ЭтотОбъект, Новый Структура("ДиалогОткрытияФайла", ДиалогОткрытияФайла)));
КонецПроцедуры
&НаКлиенте Процедура ПоказатьДиалогВыбораФайлаЗавершение(ВыбранныеФайлы, ДополнительныеПараметры) Экспорт Если (ВыбранныеФайлы <> Неопределено) Тогда ИмяФайла = ВыбранныеФайлы[0]; Иначе Возврат; КонецЕсли; Excel = ПодключитьсяКЭкселю(); Если Excel = Неопределено Тогда Возврат; КонецЕсли; Книга = Excel.WorkBooks.Open(ИмяФайла); Лист = Книга.WorkSheets(1); ВсегоКолонок = Лист.Cells(1,1).SpecialCells(11).Column; ВсегоСтрок = Лист.Cells(1,1).SpecialCells(11).Row; ТабЗначений.Очистить(); для Строка = excel_СтрокаНачала по ВсегоСтрок цикл новстрока = ТабЗначений.Добавить(); новстрока.НомерПП = Формат(Лист.Cells(Строка, 1).Value, "ЧГ="); КонецЦикла; ОтключитьсяОтЭкселя(Excel, ИмяФайла); КонецПроцедуры
&НаКлиенте
Функция ПодключитьсяКЭкселю()
Excel = Неопределено;
Попытка
Excel = Новый COMОбъект("Excel.Application");
Исключение
Сообщить("Ошибка при открытии файла с помощью Excel! Возможно не устанволен Эксель на этом ПК");
Сообщить(ОписаниеОшибки());
Excel.DisplayAlerts = 0;
Excel.ActiveWorkbook.Close();
Excel.DisplayAlerts = 1;
Excel.Application.Quit();
Excel = Неопределено;
Возврат Excel;
КонецПопытки;
Возврат Excel;
КонецФункции
&НаКлиенте Процедура ОтключитьсяОтЭкселя(Excel,ИмяФайла) Если Excel <> Неопределено Тогда Excel.DisplayAlerts = 0; Excel.ActiveWorkbook.Close(); Excel.DisplayAlerts = 1; Excel.Application.Quit(); Excel = Неопределено; КонецЕсли; КонецПроцедуры