Порой бывает нужно. Помним, что при открытии путь файла должен быть доступен с сервера.
&НаКлиенте
Процедура ЗагрMXL(Команда)
ТабДок = Новый ТабличныйДокумент;
ПутьКФайлуМХЛ="Путь к файлу доступный с сервера.mxl";
ПрочитатьТабДокВТЗ(ТабДок,ПутьКФайлуМХЛ);
КонецПроцедуры
&НаСервере
Процедура ПрочитатьТабДокВТЗ(ТабДок,ПутьКФайлуМХЛ)
ТабДок.Прочитать(ПутьКФайлуМХЛ);
Построитель = Новый ПостроительЗапроса;
Построитель.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТабДок.Область
(1, 1,ТабДок.ВысотаТаблицы, 7));
Построитель.Выполнить();
ТЗ = Построитель.Результат.Выгрузить();
ЗначениеВРеквизитФормы(ТЗ,"ТбФайлов");
КонецПроцедуры
//Так можно загрузить всю книгу XLS(x) в таблицы значений
//Каждый лист книги в отдельную таблицу
//Возвращаем по параметру ТБ= структура с таблицами значений
//"Строка" ЗначениеВСтрокуВнутр(структура с таблицами значений) - надо если передавать на //клиента
&НаСервере
Функция ЗагрузитьТабДокВТб(ПутьКФайлу,Парам="Тб") Экспорт
ТабДокумент=Новый ТабличныйДокумент;
ТабДокумент.Прочитать(ПутьКФайлу,СпособЧтенияЗначенийТабличногоДокумента.
Значение);
Структура=Новый Структура;
Для Каждого Обл Из ТабДокумент.Области Цикл
ПЗ = Новый ПостроительЗапроса;
ПЗ.ИсточникДанных = Новый ОписаниеИсточникаДанных(Обл);
ПЗ.ДобавлениеПредставлений = ТипДобавленияПредставлений.НеДобавлять;
ПЗ.ЗаполнитьНастройки();
ПЗ.Выполнить();
Структура.Вставить(Обл.Имя,ПЗ.Результат.Выгрузить());
КонецЦикла;
ТабДокумент=Неопределено;
Если Парам="Строка" Тогда
Возврат ЗначениеВСтрокуВнутр(Структура);
Иначе
Возврат Структура;
КонецЕсли;
КонецФункции