Суббота, 26.07.2025, 22:16
| RSS
Главная
Примочки к 1С
Категории раздела
Разное: 1С и не только ... [4]
Проблемы 1C и их решения. [2]
Ссылки на 1С ресурсы
  • Специалист
  • Клуб професионалов 1С
  • Статистика
    Главная » Статьи » » Разное: 1С и не только ...

    Получение данных из Excel.
    Получение данных из Excel.
     Например, код

    Попытка
    Эксель = СоздатьОбъект("Excel.Application");
    Исключение
    Сообщить(ОписаниеОшибки() + " Программа Exсel не установлена на данном компьютере!");
    Возврат;
    КонецПопытки;

    позволит нам получить доступ через переменную "Эксель" к запущенному приложению Excel. А далее уже можно получить доступ к книге (файлу), листу и ячейке с данными. Далее примеры кода.
    Открытие книги (файла):

    Книга = Эксель.WorkBooks.Open(ПутьКФайлу);

    ПутьКФайлу - полный путь к файлу книги Excel.
    Выбор листа книги для работы с ним:

    Лист = Книга.WorkSheets(НомерЛиста);
    или
    Лист = Книга.WorkSheets(ИмяЛиста);

    НомерЛиста - номер листа в книге, ИмяЛиста - имя листа в книге.
    Получение значения ячейки листа:

    Значение = Лист.Cells(НомерСтроки, НомерКолонки).Value;

    НомерСтроки, НомерКолонки - номер строки и номер колонки, на пересечении которых находится ячейка.
    Важно: не забывайте поле выполнения нужных действий добавлять код Эксель.Quit(); , иначе запущенный процесс останется незавершенным и будет занимать память и процессор компьютера.
    Вывод данных в Excel.
    Для вывода (выгрузки) данных в Excel необходимо либо открыть существующую книгу, либо создать новую, и выбрать рабочий лист для вывода данных. Открытие существующей книги описано выше, а для создания новой книги нужно использовать следующий код:

    Попытка
    Эксель = СоздатьОбъект("Excel.Application");
    Исключение
    Сообщить(ОписаниеОшибки() + " Программа Exсel не установлена на данном компьютере!");
    Возврат;
    КонецПопытки;
    Книга = Эксель.WorkBooks.Add();

    Так как при создании книги в Excel автоматически создаются листы (Сервис->Параметры->Общие->Листов в новой книге), то нужно лишь произвести выбор листа, с которым будет вестись работа:

    Лист = Книга.WorkSheets(НомерЛиста);

    либо добавить в книгу новый лист, если необходимо:

    Лист = Книга.Sheets.Add();

    Следующим шагом будет установка значения ячейки:

    Лист.Cells(НомерСтроки, НомерКолонки).Value = Значение;

    НомерСтроки, НомерКолонки - номер строки и номер колонки, на пересечении которых находится ячейка.
    И в конце нужно произвести запись созданной книги:

    Попытка
    Книга.SaveAs(ПутьКФайлу);
    Исключение
    Сообщить(ОписаниеОшибки()+" Файл не сохранен!");
    Возврат;
    КонецПопытки;

    ПутьКФайлу - полный путь к файлу книги Excel (включая имя).
    Важно: не забывайте, что в имени файлов не должно содержаться символов / : * ? " > < |.

    Часто используемые методы для чтения/установки значений в Excel.

    Эксель = СоздатьОбъект("Excel.Application"); Получение доступа к приложению Excel.
    Эксель.Visible = Видимость; 0 - Excel не виден, 1 - виден.
    Книга = Эксель.WorkBooks.Add(); Создание новой книги (файла) Excel.
    Книга.SaveAs(ИмяФайла); Сохранение книги Excel.
    Лист = Книга.WorkSheets.Add(); Добавление нового листа в книгу.
    Книга = Эксель.WorkBooks.Open(ИмяФайла); Открытие существующей книги (файла) Excel.
    Лист = Книга.WorkSheets(НомерЛиста); Установка листа в качестве рабочего с номером НомерЛиста.
    Лист.Name = ИмяЛиста; Задание рабочему листу имени ИмяЛиста
    Лист.PageSetup.Zoom = Масштаб; Задание параметра страницы "Масштаб" (от 10 до 400).
    Лист.PageSetup.Orientation = Ориентация; Ориентация: 1 - книжная, 2 - альбомная.
    Лист.PageSetup.LeftMargin = Эксель.CentimetersToPoints(Сантиметры); Задание левой границы (в сантиметрах).
    Лист.PageSetup.TopMargin = Эксель.CentimetersToPoints(Сантиметры); Задание верхней границы (в сантиметрах).
    Лист.PageSetup.RightMargin = Эксель.CentimetersToPoints(Сантиметры); Задание правой границы (в сантиметрах).
    Лист.PageSetup.BottomMargin = Эксель.CentimetersToPoints(Сантиметры); Задание нижней границы (в сантиметрах).
    Лист.Columns(НомерКолонки).ColumnWidth = Ширина; Задание ширины колонке.
    Лист.Cells(НомерСтроки, НомерКолонки).Value = Значение; Ввод данных в ячейку.
    Лист.Cells(НомерСтроки,НомерКолонки).Font.Name = ИмяШрифта; Установка шрифта в ячейке.
    Лист.Cells(НомерСтроки,НомерКолонки).Font.Size = РазмерШрифта; Установка размера шрифта в ячейке.
    Лист.Cells(НомерСтроки,НомерКолонки).Font.Bold = Жирный; 1 - жирный шрифт, 0 - нормальный.
    Лист.Cells(НомерСтроки,НомерКолонки).Font.Italic = Курсив; 1 - наклонный шрифт, 0 - нормальный.
    Лист.Cells(НомерСтроки,НомерКолонки).Font.Underline = Подчеркнутый; 2 - подчеркнутый, 1 - нет.
    Лист.Cells(НомерСтроки, НомерКолонки).NumberFormat = Формат; Установка формата данных ячейки.
    Лист.Cells(НомерСтроки,НомерКолонки).Borders.Linestyle="ТипЛинии;" Установка рамок ячейки. 1 - тонкая сплошная.

    Это нашел на Subscribe Ru точной ссылки к сожалению нет.
    Категория: Разное: 1С и не только ... | Добавил: Чех (19.07.2010)
    Просмотров: 2470 | Комментарии: 1 | Рейтинг: 0.0/0
    Всего комментариев: 0
    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]
    Copyright MyCorp © 2025