Для работы с XLS файлами использует сначала движок MS Excel, если Excel не установлен, пробует Open Office
Для работы с CSV файлами используется встроенная компонента 1с++ - ИндексированнаяТаблица.
Пример:
лЭксель = СоздатьОбъект("классXLS");
Попытка
Если лЭксель.Создать(ФайлЗагрузки, лТипФайла) = 0 Тогда
Возврат 0;
КонецЕсли;
Исключение
Сообщить("Ошибка открытия файла: " + СокрЛП(ФайлЗагрузки) + СимволТабуляции + ОписаниеОшибки(), "!");
Возврат 0;
КонецПопытки;
Попытка
лКолСтрок = лЭксель.КоличествоСтрок();
Для сч=1 По лКолСтрок Цикл
лОбозначение = СокрЛП(лЭксель.Ячейка(, КолОбозначение, сч));
Состояние(СокрЛП(сч) + "/" + СокрЛП(лКолСтрок) + " - " + СокрЛП(Окр(сч/лКолСтрок *100, 0)) + "% загрузка данных: " + лОбозначение);
Если ПустаяСтрока(лОбозначение) = 1 Тогда
Продолжить;
КонецЕсли;
ТзДанных.НоваяСтрока();
ТзДанных.Обозначение = лОбозначение;
Если КолПроизводитель > 0 Тогда
лПроизводительСтр = СокрЛП(лЭксель.Ячейка(, КолПроизводитель, сч));
ТзДанных.ПроизводительСтр = лПроизводительСтр;
КонецЕсли;
Если КолОстаток > 0 Тогда
лОстаток = Число(лЭксель.Ячейка(, КолОстаток, сч));
ТзДанных.Остаток = лОстаток;
КонецЕсли;
Если КолРезерв > 0 Тогда
лРезерв = Число(лЭксель.Ячейка(, КолРезерв, сч));
ТзДанных.Резерв = лРезерв;
КонецЕсли;
Если КолОтгружено > 0 Тогда
лОтгружено = Число(лЭксель.Ячейка(, КолОтгружено, сч));
ТзДанных.Отгружено = лОтгружено;
КонецЕсли;
Если КолЗаказано > 0 Тогда
лЗаказано = Число(лЭксель.Ячейка(, КолЗаказано, сч));
ТзДанных.Заказано = лЗаказано;
КонецЕсли;
Если КолЦена > 0 Тогда
лЦена = Число(лЭксель.Ячейка(, КолЦена, сч));
ТзДанных.Цена = лЦена;
КонецЕсли;
Если КолНаименование > 0 Тогда
лНаименование = СокрЛП(лЭксель.Ячейка(, КолНаименование, сч));
ТзДанных.Наименование = лНаименование;
КонецЕсли;
КонецЦикла;
лЭксель.Закрыть();
Исключение
Сообщить("Ошибка чтения файла: " + СокрЛП(ФайлЗагрузки) + СимволТабуляции + ОписаниеОшибки(), "!");
Возврат 0;
КонецПопытки;