Внешний отчет, обработка для 1С: Предприятие 8.1; 1С: Бухгалтерский учет 7.7; 1С: Оперативный учет 7.7; 1С: Расчет 7.7
Чтение/запись документ Excel 2007 без установленного Excel'а, без внешних компонент, исключительно средствами 1С (7.7, 8.1, 8.2 на управляемых формах).
Написано в ознакомительных целях, по аналогии с http://infostart.ru/projects/2365/
Использование (1С 8.x): вставляете обработку в конфигурацию и используете ее методы:
Процедура ОткрытьФайлЭкзекль2007(ПутьКФайлу)
Экзель = Обработки.Excel2007.Создать();
Если НЕ Экзель.ОткрытьФайл(ПутьКФайлу) Тогда
Предупреждение("Файл " + ПутьКФайлу + " не открыт!");
Возврат;
КонецЕсли;
Если НЕ Экзель.ОткрытьЛист(1) Тогда
Предупреждение("Лист 1 не открыт!");
Возврат;
КонецЕсли;
Сообщить("Количество строк: " + Экзель.Лист.Количество());
Сообщить("Количество колонок: " + Экзель.Лист.Колонки.Количество());
КонецПроцедуры
Процедура СоздатьФайлЭкзель2007(ПутьКФайлу)
//заполняем ТЗ
ТЗ = Новый ТаблицаЗначений;
ТЗ.Колонки.Добавить("К1");
ТЗ.Колонки.Добавить("К2");
Стр = ТЗ.Добавить();
Стр.К1 = "Номенклатура";
Стр.К2 = "Количество";
Стр = ТЗ.Добавить();
Стр.К1 = "Хлеб";
Стр.К2 = 10;
Стр = ТЗ.Добавить();
Стр.К1 = "Мясо";
Стр.К2 = 14;
//сохраняем тз в экзель
Экзель = Обработки.Excel2007.Создать();
Экзель.Лист = ТЗ;
Экзель.Записать(ПутьКФайлу);
КонецПроцедуры
Использование (1С 7.7): добавляете из демо-базы все из глобального модуля в свой, файлшаблона в папку с конфигурацией и используете по примеру:
Процедура ОткрытьФайлЭкзекль2007(ПутьКФайлу)
Если экзель_ОткрытьФайл(ПутьКФайлу) = 0 Тогда
Предупреждение("Файл " + ПутьКФайлу + " не открыт!");
Возврат;
КонецЕсли;
Если экзель_ОткрытьЛист(1) = 0 Тогда
Предупреждение("Лист 1 не открыт!");
Возврат;
КонецЕсли;
Сообщить("Количество строк: " + экзель_Лист.КоличествоСтрок());
Сообщить("Количество колонок: " + экзель_Лист.КоличествоКолонок());
Сообщить("***");
//выведем 1 строку
Для сч = 1 По экзель_Лист.КоличествоКолонок() Цикл
Сообщить(экзель_Лист.ПолучитьЗначение(1, сч));
КонецЦикла;
КонецПроцедуры
//*******************************************
Процедура СоздатьФайлЭкзель2007(ПутьКФайлу)
//заполняем ТЗ
ТЗ = СоздатьОбъект("ТаблицаЗначений");
ТЗ.НоваяКолонка("К1");
ТЗ.НоваяКолонка("К2");
ТЗ.НоваяСтрока();
ТЗ.К1 = "Номенклатура";
ТЗ.К2 = "Количество";
ТЗ.НоваяСтрока();
ТЗ.К1 = "Хлеб";
ТЗ.К2 = 10;
ТЗ.НоваяСтрока();
ТЗ.К1 = "Мясо";
ТЗ.К2 = 14;
//сохраняем тз в экзель
экзель_Лист = ТЗ;
Если экзель_Записать(ПутьКФайлу) = 1 Тогда
Сообщить("Создан " + ПутьКФайлу);
ЗапуститьПриложение(ПутьКФайлу);
КонецЕсли;
КонецПроцедуры
|
Результат демо-кода |
Поставьте плюс, если вы рекомендуете данную публикацию к прочтению и использованию.
Плюс добавляет публикацию в Мои рекомендации.
[+] Рекомендую
[−] Не тратить время
Если рейтинг упадет до -5, то публикация автоматически скроется.