Пользователь

Добро пожаловать,

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

Меню сайта




Ваше мнение
Какой язык программирования вы используете ?

ASP
Delphi
C/C++
Basic
PHP
Pascal
Java
Другой


Результаты
Другие опросы

Всего голосов: 1968
Комментарии: 10


Наши партнеры



Статистика




Programming books  Download software  Documentation  Scripts  Content Managment Systems(CMS)  Templates  Icon Sets  Articles  Contacts  Voting  Site Search




Статьи и обзоры



1С и Excel.

1С-Предприятие - это программный комплекс, контролирующий все стадии товарооборота, от поступления товара на склад до его продажи и проведения через бухгалтерские книги. Первоначально этот комплекс задумывался как бухгалтерская программа и назывался 1C-Бухгалтерия. I. Вступление
II. Таблицы 1С и Excel.
III. Получение данных из Excel.
IV. Вывод данных в Excel.
V. Часто используемые методы для чтения/установки значений в Excel.

Вступление.

Многие знают, что Excel гораздо старше 1С. На мой взгляд, это очень успешный продукт, и нареканий о нем я не слышал. Excel прост и универсален. Он способен выполнять не только простые арифметические операции, но и сложные вычисления, построение графиков и т.п. Знаю примеры, когда организации до перехода на 1С вели часть бухгалтерии в Excel. Многие и сейчас параллельно используют две программы. В этой статье рассмотрим способы обмена данными между 1С и Excel.

Таблицы 1С и Excel.


Многие пользователи для удобства работы сохраняют таблицы 1С (печатные формы) в формате Excel (*.xls). После чего в полученном файле делают различные группировки, сортировки, вычисления и т.п. Связано это с тем, что в таблицах 1С нет такого огромного функционала как в таблицах Excel. Но в версии 1С 8.0 есть нововведения, делающих работу с таблицами более комфортной.

На сайте 1С (www.1C.ru) есть полезная программка, которая дает возможность открывать таблицы 1С в Excel и сохранять лист Excel как таблицу 1С. Это пригодится в том случае, если таблицу 1С не сохранили в формате Excel, а на том компьютере, где нужно открыть эту таблицу не установлена 1С. Да и постоянно помнить о том, что сохранить таблицу 1С нужно в формате Excel, не будет необходимости.

Полная информация о программе находится здесь.
Скачать программу можно здесь (архив zip 682 739 байт).

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

Получение данных из Excel.


Доступ из 1С к Excel производится посредством OLE. Например, код
Код
Попытка
Эксель = СоздатьОбъект("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 - тонкая сплошная.



willi6565
Пункты: 326Дата: 25.11.2024 Комментарий: 1
willi6565Статья толковая, но нет методов для установки значений колонтитулов
1
Дата регистрации: 10.03.2010 1Мужчина Персональная информация


Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.
Внимание! Если у вас не получилось найти нужную информацию, используйте рубрикатор или воспользуйтесь поиском


.



Статьи и обзоры Программирование и Excel Вступление Таблицы Excel Получение данных из Вывод Часто используемые методы для чтения/установки значений Многие знают что гораздо старше На мой взгляд это очень успешный продукт нареканий нем не слышал прост универсален Он способен выполнять только простые арифметические операции но сложные вычисления построение графиков Знаю примеры когда организации до перехода на вели часть бухгалтерии сейчас