Замечание: В Excel разделителем дробной части считается символ ",". Поэтому перед сохранением таблицы 1С в формате Excel замените в ней другой разделитель (например ".") на ",". Иначе в Excel с этими числами не удастся произвести вычисления, или они вообще не будут отображаться как числа. Например, в таблице 1С "15.2" отобразится в Excel как "15.фев".
Для 8.х заменить СоздатьОбъект( на Новый COMОбъект(
Чтение (Получение) данных из Excel
Доступ из 1С к Excel производится посредством OLE. Например, код
позволит получить доступ через переменную "Эксель" к запущенному приложению Excel. А далее уже можно получить доступ к книге (файлу), листу и ячейке с данными.Чтобы открыть книгу (файл)
Важно: не забывайте поле выполнения нужных действий добавлять код
, иначе запущенный процесс останется незавершенным и будет занимать память и процессор компьютера.
Вывод данных в Excel
Для вывода (выгрузки) данных в Excel необходимо либо открыть существующую книгу, либо создать новую, и выбрать рабочий лист для вывода данных. Открытие существующей книги описано выше, а для создания новой книги нужно использовать следующий код:
Так как при создании книги в Excel автоматически создаются листы (Сервис->Параметры->Общие->Листов в новой книге), то нужно лишь произвести выбор листа, с которым будет вестись работа:
Следующим шагом будет установка значения ячейки:
И в конце нужно произвести запись созданной книги:
Важно: не забывайте, что в имени файлов не должно содержаться символов \ / : * ? " > <
Часто бывает необходимость сложить несколько чисел в печатной форме, например, как это сделано в Excel.
Сегодня решить посмотреть Бухгалтерию КОРП. Нашёл в ней очень интересную штуку: поле в котором показан результат сложения выделенных ячеек печатной формы. Конечно, такую штуку бы правильнее реализовать на уровне платформы. Но коль нет, можно оказывается сделать ручками. Как говориться, и за это богам спасибо.
Вот исходный код из Бухгалтерии КОРП:
Подумав немного, я добавил в функцию ещё расчёт среднего и определение количества ячеек с числами. Получилось вот что:
Результат на картинке:
Да, чуть не забыл самое главное, функцию надо вызвать в обработчике ПриАктивизацииОбласти поля табличного документа.