helpf.pro
Регистрация
 0 
Распечатать

1С 7.x : Чтение и Вывод данных в Excel

Замечание: В Excel разделителем дробной части считается символ ",". Поэтому перед сохранением таблицы 1С в формате Excel замените в ней другой разделитель (например ".") на ",". Иначе в Excel с этими числами не удастся произвести вычисления, или они вообще не будут отображаться как числа. Например, в таблице 1С "15.2" отобразится в Excel как "15.фев".

Для 8.х заменить СоздатьОбъект( на Новый COMОбъект(

Чтение (Получение) данных из Excel
Доступ из 1С к Excel производится посредством OLE. Например, код
Код 1C v 7.x
 Попытка
Эксель = СоздатьОбъект("Excel.Application");
Исключение
Сообщить(ОписаниеОшибки() + " Программа Exсel не установлена на данном компьютере!");
Возврат;
КонецПопытки;

позволит получить доступ через переменную "Эксель" к запущенному приложению Excel. А далее уже можно получить доступ к книге (файлу), листу и ячейке с данными.Чтобы открыть книгу (файл)
Код 1C v 7.x
 Книга = Эксель.WorkBooks.Open(ПутьКФайлу);
//ПутьКФайлу - полный путь к файлу книги Excel.

//Выбор листа книги для работы с ним:
Лист = Книга.WorkSheets(НомерЛиста);
//или
Лист = Книга.WorkSheets(ИмяЛиста);
// где НомерЛиста - номер листа в книге, ИмяЛиста - имя листа в книге.

// Получение значения ячейки листа:
Значение = Лист.Cells(НомерСтроки, НомерКолонки).Value;
// где НомерСтроки, НомерКолонки - номер строки и номер колонки, на пересечении которых находится ячейка.


Важно: не забывайте поле выполнения нужных действий добавлять код
Код 1C v 7.x
 Эксель.Quit(); 

, иначе запущенный процесс останется незавершенным и будет занимать память и процессор компьютера.

Вывод данных в Excel
Для вывода (выгрузки) данных в Excel необходимо либо открыть существующую книгу, либо создать новую, и выбрать рабочий лист для вывода данных. Открытие существующей книги описано выше, а для создания новой книги нужно использовать следующий код:
Код 1C v 7.x
 Попытка
Эксель = СоздатьОбъект("Excel.Application");
Исключение
Сообщить(ОписаниеОшибки() + " Программа Exсel не установлена на данном компьютере!");
Возврат;
КонецПопытки;

Книга = Эксель.WorkBooks.Add();


Так как при создании книги в Excel автоматически создаются листы (Сервис->Параметры->Общие->Листов в новой книге), то нужно лишь произвести выбор листа, с которым будет вестись работа:
Код 1C v 7.x
 Лист = Книга.WorkSheets(НомерЛиста);

// либо добавить в книгу новый лист, если необходимо:
Лист = Книга.Sheets.Add();

Следующим шагом будет установка значения ячейки:
Код 1C v 7.x
 Лист.Cells(НомерСтроки, НомерКолонки).Value = Значение;
// где НомерСтроки, НомерКолонки - номер строки и номер колонки, на пересечении которых находится ячейка.

И в конце нужно произвести запись созданной книги:
Код 1C v 7.x
 Попытка
Книга.SaveAs(ПутьКФайлу);
Исключение
Сообщить(ОписаниеОшибки()+" Файл не сохранен!");
Возврат;
КонецПопытки;
// где ПутьКФайлу - полный путь к файлу книги Excel (включая имя).

Важно: не забывайте, что в имени файлов не должно содержаться символов \ / : * ? " > <
Разместил:   Версии: | 7.x | 8.x | 8.2 УП |  Дата:   Прочитано: 19739
 0 
Распечатать
Возможно, вас также заинтересует
1С 7.x : Как получить курсы валют с сайта НБУ http://www.bank.gov.ua/ за любую дату ? 2
Функция ПолучитьТаблицуКурсовНБУ(ДатаКурса, Ежедневно = 1) // если в качестве второго параметра указать число отличное от 1 - получем валюты, которые котируются на ежемесячной основе Перем Reader, Url, Точки, HtmlTab, Строк, Р,...
1С Предприятие что это? 6
Что такое 1С? 1С — это фирма , у которой одно из направлений деятельности — разработка программного обеспечения для автоматизации бизнес-процессов предприятий. « 1С:Предприятие » - конкретный продукт, который...
Автоматическая установка ширины колонки табличного документа. 0
Процедура, которая " примерно" делает автоширину колонок (навроде, как если бы выделить все колонки и дважды щелкнуть мышкой по границе заголовка колонки). Привожу текст, работает неахти, но лучше чем ничего: Процедура...
Алгоритм шифрования RC4 0
Для решения некоторых задач, иногда требуется имееть возможность шифровать и дешифровывать, какие-то данные. Но при этом нет возможности использовать стороние внешнии компоненты. Предлагаем пример реализации...
Альтернативный перенос остатков между 7.7 и 8.1 (обработкой с ИТС ЗагрузкаДанныхИзТаблДокум) 0
Нашел альтернативный, практически моментальный способ переноса остатков между семерой и восьмерой (так и между восмерками). Не требуется никаких дополнительных усилий, программирования, писания обработок и т.д. и т.п....
Посмотреть все результаты поиска похожих
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.