В excel как в 1с таблицу
Многие знают, что Excel гораздо старше 1С. На мой взгляд, это очень успешный продукт, и нареканий о нем я не слышал. Excel прост и универсален. Он способен выполнять не только простые арифметические операции, но и сложные вычисления, построение графиков и т.п. Знаю примеры, когда организации до перехода на 1С вели часть бухгалтерии в Excel. Многие и сейчас параллельно используют две программы. В этой статье рассмотрим способы обмена данными между 1С и Excel.
Таблицы 1С и Excel.
Многие пользователи для удобства работы сохраняют таблицы 1С (печатные формы) в формате Excel (*.xls). После чего в полученном файле делают различные группировки, сортировки, вычисления и т.п. Связано это с тем, что в таблицах 1С нет такого огромного функционала как в таблицах Excel. Но в версии 1С 8.0 есть нововведения, делающих работу с таблицами более комфортной.
Замечание: В 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.
Эксель . Visible = Видимость ;
Книга = Эксель . WorkBooks . Add ();
Книга . SaveAs ( ИмяФайла );
Лист = Книга . WorkSheets . Add ();
Книга = Эксель . WorkBooks . Open ( ИмяФайла );
Лист = Книга . WorkSheets ( НомерЛиста );
Лист . Name = ИмяЛиста ;
Лист . PageSetup . Zoom = Масштаб ;
Лист . PageSetup . Orientation = Ориентация ;
Лист . PageSetup . LeftMargin = Эксель . CentimetersToPoints ( Сантиметры );
Лист . PageSetup . TopMargin =
Эксель . CentimetersToPoints ( Сантиметры );
Лист . PageSetup . RightMargin =
Эксель . CentimetersToPoints ( Сантиметры );
Лист . PageSetup . BottomMargin =
Эксель . CentimetersToPoints ( Сантиметры );
Лист . Columns ( НомерКолонки ) . ColumnWidth = Ширина ;
Лист . Cells ( НомерСтроки , НомерКолонки ) . Value = Значение ;
Лист . Cells ( НомерСтроки , НомерКолонки ) . Font . Name = ИмяШрифта ;
Лист . Cells ( НомерСтроки , НомерКолонки ) . Font . Size = РазмерШрифта ;
Инструмент позволяет конструировать произвольные отчеты, примерно так же как это делается в Excel с использованием данных 1С. Область применения - от простого получения нескольких контрольных сумм по типу "Отчет руководителю", до составления сложных аналитических отчетов всех видов учета.
Описание и назначение.
Представляемый вашему вниманию инструмент это не просто электронная таблица внутри 1С, что само по себе было бы уже не плохо. Название нескромно намекает на его схожесть с Excel (в контексте данного описания как собирательный образ электронных таблиц), но это лишь условное сравнение, т.к. по факту мы имеем симбиоз базового функционала электронных таблиц и возможностей получения и использования данных 1С в одном флаконе инструменте.
Одной из основных задач при разработке инструмента было добиться максимальной простоты и удобства использования обычному пользователю 1С. Процесс конструирования отчета не сложнее соcтавления таблицы в Excel. Дополнительно необходимо, всего лишь в несколько кликов мышкой, указать состав получаемых данных для конкретных ячеек.
Созданный этим инструментом отчёт можно сохранить в файл и он всегда будет формироваться по актуальным данным.
Выполненный в виде внешнего отчета, инструмент не требует встраивания в конфигурацию и какого либо ее изменения. Может подключаться как внешний отчет.
Виды отчетов, для составления которых инструмент подойдет наилучшим образом:
- Аналитические или финансовые отчеты.
- Все формы бухгалтерской, налоговой и статистической отчетности.
- Управленческие балансы.
- Отчеты руководителю.
- Отчёты по бюджетированию и планированию, включая хранение плановых данных и сопоставление их с фактическими. Реализация несложной модели бюджетирования или планирования может оказаться возможной "без никакого" изменения конфигурации.
- Всевозможные калькуляции, расчеты, сметы.
- Прочие нединамические (статические) отчеты.
Данный инструмент может стать незаменимым для:
Тех кто использует Excel для того, что бы составить любой отчёт (расчет) по данным 1С, как в силу привычки так и из-за недостатка других доступных инструментов.
Тех кто стоит перед задачей формирования отчета из описанных выше видов.
Программистов, которым необходимо разработать отчет, содержащий значительный объем разрозненных данных, который трудно или невозможно впихнуть без сложной программной до и пост обработки в СКД или вовсе не получится использовать таковую. Если вы программист, оцените сколько трудозатрат потребует разработка подобного отчета и как сложно будет в дальнейшем вносить в него изменения по запросам пользователей. А ведь данная задача может свестись к обучению конечного пользователя 1С методам работы с данным инструментом и то лишь, если пользователь слабо верит в свои силы (что является весьма распространенной ситуацией). Программист тем самым избавит себя от лишней рутинной работы, а пользователь приобретет ценный навык самостоятельного составления отчетов. Как вариант возможна совместная разработка подобного отчета программистом и пользователем с использованием данного инструмента еще на этапе постановки задачи.
Пользователю 1С всегда стоит принимать во внимание вышеизложенные соображения, особенно п.3, т.к. стоимость разработки и поддержки одного сложного отчета традиционным способом с привлечением программиста может многократно превысить стоимость данного инструмента.
Хочется особо подчеркнуть, что целевая аудитория это обычные пользователи 1С, способные составить таблицу в Excel и понимающие какие данные 1С им нужны.
Функционал.
Базовые возможности, аналогичные Excel:
Есть два формата обращения к ячейкам (областям ячеек) в формулах на выбор. Первый вариант предполагает указание адреса(ов) в формате R№C№(R$№C$№) , второй, аналогичный современному в Excel (так называемый стиль ссылок R1C1) R[№]C[№](R№C№), где в квадратных скобках указывается ссылка или, иначе, смещение относительно текущей ячейки. В круглых скобках указан вариант абсолютной адресации. Адреса ячеек (или ссылки) доступны в формулах ячеек, отборах строк данных ячейки, в полях для ввода начала и конца периода при указании периода для конкретной ячейки.
Поддерживается абсолютная и относительная адресация (См. п.1).
Контроль перекрестных ссылок.
Формирование произвольных формул для выполнения необходимых действий над данными и ячейками таблицы.
Простой и удобный ввод при помощи одной мышки всех формул, включая ввод адресов (ссылок) ячеек.
Подсветка влияющих ячеек при выборе адреса (ссылки) в формуле.
Объединение смежных ячеек.
Копирование, вырезка, вставка, перемещение областей ячеек с адекватным автоматическим изменением адресов (ссылок) в формулах копируемых, перемещаемых ячеек.
Сортировка строк и колонок таблицы.
Конструктор встроенных функций.
Группировка строк и колонок.
Возможности оформления выводимых данных, такие как выравнивание по границам, границы и заливка, шрифты, цвета, отступы, форматы чисел и дат, картинки, диаграммы и т.п.
Стоит заметить, что только п.11 и п.12, являются стандартным функционалом табличного документа 1С.
Расширенные возможности:
Использование, помимо примитивных (базовых) типов данных, стандартных периодов, ссылочных типов данных - таких как справочники, перечисления, документы, счета планов счетов и т.д.
Наличие механизма массового заполнения значений. По нажатию кнопки "Заполнить значения" можно вправо или вниз от текущей ячейки заполнить необходимое количество ячеек или выделенную область ячеек числами, датами, стандартными периодами с заданным шагом, либо выделенными в списке элементами справочников, счетов, документами и т.п.
Использование внутри формул очень многих функций 1С (для работы со строками, датами, числами, преобразования типов и т.п.), функций серверных общих модулей, встроенных функций для работы с областями ячеек, стандартными периодами и т.п.
Возможности работы с данными 1С:
Доступно в любой ячейке таблицы получение произвольного количества числовых данных 1С из регистров бухгалтерии, накопления, сведений, регистров расчета (в стадии разработки). В каждой ячейке для этого существует специальная таблица. Период получения данных един для всех строк данной таблицы (п.5 и п.6. текущего раздела.). Ссылки на получаемые в строках этой таблицы данные имеют формат D№, где № - номер строки. Можно, например, в первой строке данных (D1) получить начальное (конечное) сальдо по счетам со схожей аналитикой (если требуются отборы по аналитике), во второй (D2) - дебетовой (кредитовый) оборот по этим же (любым другим) счетам, в третьей строке данных (D3) получить, скажем, оборот по регистру накопления "НДС продажи" и т.д. и т.п. Для работы с таблицей данных и формированием формул предусмотрена специальная форма, которая позволяет все операции производить с использованием только одной мышки.
Доступны необходимые вычисления в формуле ячейки над полученными данными 1С, например D1+D2-D3.
Наложение отбора на получаемые данные 1С для каждой строки данных ячейки. В данном отборе в качестве значения можно использовать адреса (ссылки) на другие ячейки таблицы.
Наложение отбора для каждой колонки и для отчёта в целом.
Использование основного периода получения данных 1С и сдвигов периодов относительно основного периода для произвольных колонок.
Возможность выбора фиксированных и зависимых (от значений в других ячейках) периодов получения данных 1С для каждой конкретной ячейки.
Расшифровка до документа получаемых данных 1С каждой строки таблицы данных ячейки.
Использование для получения данных произвольного кода 1С. Данная конструкция должна начинаться с "=!" и присваивать возвращаемое значение переменной Результат. Например:
Все вычисления и выполнение подобного кода производится в безопасном режиме.
Особенности:
В силу специфики реализации, обусловленной универсальностью возможностей и решаемых задач, для больших выборок данных, получаемых одним простым запросом данный инструмент будет работать дольше обычных отчетов. Для небольших объемов получаемых данных данный временной фактор менее критичен. Максимально эффективен данный инструмент для отчетов, содержащих большой объем разрозненных данных и, в первую очередь, это связано со сложность процесса описания получения подобных данных обычным программным способом.
Ограничения:
Все действия над ячейками, строками ячеек и колонками стоит выполнять из контекстного меню ячеек, строк и колонок.
ВНИМАНИЕ. НЕЛЬЗЯ выполнять действия над таблицей из меню Таблица/Ячейки, а именно: РАЗДВИНУТЬ, РАЗБИТЬ ЯЧЕЙКУ, ВСТАВИТЬ СТРОКИ ВЫШЕ,ВСТАВИТЬ СТРОКИ НИЖЕ, УДАЛИТЬ СТРОКИ, ВСТАВИТЬ КОЛОНКИ СЛЕВА, ВСТАВИТЬ КОЛОНКИ СПРАВА, УДАЛИТЬ КОЛОНКИ, ОЧИСТИТЬ СОДЕРЖИМОЕ, ОЧИСТИТЬ ВСЕ. Данные действия приводят к разсогласованию формул с ячейками и, к сожалению, пока не удается ни удалить из меню Таблица/Ячейки данные действия, ни перехватить их программно. В контекстном меню ячеек есть команды РАЗДВИНУТЬ, УДАЛИТЬ СТРОКИ, УДАЛИТЬ КОЛОНКИ, ВСТАВИТЬ СТРОКИ, ВСТАВИТЬ КОЛОНКИ, ОЧИСТИТЬ ВСЕ, ОЧИСТИТЬ СОДЕРЖИМОЕ, которых достаточно для выполнения аналогичных действий.
Также необходимо с осторожностью вставлять данные по комбинации клавиш Ctrl-V и Shift-Ins из буфера обмена, т.к. данные действия пока никак не изменяют (не очищают) формулы в вставляемой области таблицы.
Техническая информация:
Инструмент выполнен в виде внешнего отчета. Не требует изменения конфигурации.
Платформа не ниже 8.3.13.
Режим запуска Управляемое приложение.
Тонкий или толстый клиент.
Версия БСП и ее наличие не имеет принципиального значения. В худшем случае, не будет работать механизм фонового выполнения расчетных операций при достижении определенного пользователем порогового значения количества формул.
Желательно отключить для пользователя режим Защиты от опасных действий. В противном случае инструмент не получится открыть из меню Файл/Открыть, а при подключении внешнего отчета будет выдавать ошибку при выполнении в фоне (при достижении установленного пользователем количества формул) и выполнение в фоне придется отключить в настройках.
Лицензия привязывается к компьютеру. Если база клиент-серверная или работает на терминальном сервере лицензия привязывается к серверу и инструмент становится доступен всем пользователям подключенным к серверу.
Код модуля отчета закрыт.
В ближайших планах:
Наполнение встроенными функциями.
История версий:
1.2.2 Появилась возможность использования в конфигурациях на обычных формах в режиме запуска управляемое приложение (Для БП 2.0, ЗУП 2.5, УТ 10.3, КА 1.1).
1.2.3 Добавлена расшифровка.
Вопросы, предложения, конструктивная критика приветствуются.
Пример 1 (Презентация)
Достоинства
- Инструмент рассчитан на обычных пользователей 1С.
- Прост в освоении и удобен в использовании.
- Возможность быстрого получения данных 1С.
- Интуитивно понятный, не перегруженный интерфейс.
- Отсутствие необходимости изменения конфигурации.
- Адекватная цена.
Гарантия возврата денег
ООО "Инфостарт" гарантирует Вам 100% возврат оплаты, если программа не соответствует заявленному функционалу из описания. Деньги можно вернуть в полном объеме, если вы заявите об этом в течение 14-ти дней со дня поступления денег на наш счет.
Программа настолько проверена в работе, что мы с полной уверенностью можем дать такую гарантию. Мы хотим, чтобы все наши покупатели оставались довольны покупкой.
После манипуляции с файлом необходимо его закрыть. В противном случае он останется захваченным в системе, и мы не сможем его использовать в других приложениях.
Клиент-Серверный вариант в управляемых формах.
1. Считываем данные из файла в массив из структур и затем этот массив передаем на сервер для дальнейших манипуляций с данными.
2-ой способ - это передать файл Excel на сервер через хранилище данных и далее работать с ним уже на сервере.
Очень часто приходится работать с очень большими файлами Excel, и его обработка путем перебора строк занимает огромное количество времени.
В таких случаех удобно в одно действие загрузить всю таблицу в массив и в потом работать уже непосредственно с массивом.
На выходе получаем двумерный массив, который содержит все данные указанного листа Excel
Полезные функции при работе с Excel:
Устанавливает видимость Excel при работе |
Добавление новой книги в файл Excel |
Сохранение книги Excel |
Добавление нового листа к книге |
Переименование листа |
Изменение маштаба листа |
Изменение ориентации листа |
Отступы листа |
Обращение к ячейки чтение/запись |
Обращение к области ячеек |
Очень часто при чтении или записи значений в Excel ставятся лишние пробелы в числе, например, вместо 1502 он читает как 1 502 и в дальнейшем это значение не приводится к числу. Эту проблему можно решить заменой. |
Объединение ячеек |
Работа с именованными ячейками в Excel |
Удаление ячейки |
Удаление области ячеек |
Обращение к строке |
Изменение ширины колонки |
Обращение к колонке |
Удаление Строки |
Фон ячейки / области / Строки / |
Функция переводит цвет из формата RGB в формат Excel |
Управление шрифтом в ячейки/строке/области |
Р азрешает переносить по словам в ячейке |
Управление рамкой ячейки |
Устанавливаем формат ячейки |
Формула в ячейки |
Формула в ячейки |
Формула в ячейки |
Формула в ячейки |
Функция для получения ширины колонки Excel Спасибо пользователю goodwill |
Разрешить перенос слов в ячейке Спасибо пользователю roofless |
Группировки данных на листе Спасибо пользователю dr-wit, ignor |
При работе с Excel мы оперируем столбцами как числом (Например, 1 столбец), а у Excel адресация столбцов производится с помощью символов. И когда нам нужно отредактировать формулу, то нам нужно номер столбца преобразовать в символ. В таких случаях вам пригодится эта функция.
2. Работа с Excel через ТабличныйДокумент 1С
С помощью данного метода можно и загружать из Excel и выгружать в Excel. Но на мой взгляд этот метод идепально подходит когда вам необходимо посто сохранить информацию в Excel без дальнейшей манипуляции.
Итак, приступим: загрузка из Excel:
1. Загружаем файл Excel в табличный документ
2. Производим манипуляции уже с ТабличнымДокументом
Давайте теперь разберем сохранение в Excel с помощью данного метода:
Тут все очень просто сначала мы формируем обычный Табличный документ и затем записываем его в Excel
2. Работа с Excel ADODB
Выражаю особую благодарность коллеги Fragster за хороший комментарий
Данный метод позволяет работать с Excel через ODBC и имеет ряд преимуществ:
- Не требует установки самой Excel, необходима лишь установить ODBC. Но как правило он уже установлен. Это особенность позволяет работать на стороне сервера без дополнительных установок Excel.
- Позволяет работать с таблицой Excel как с БД и строить к ней запросы на T-SQL. Таким образом мы можем делать отборы еще на этапе чтения данных и другие преимущества что дает Т-SQL. Что на мой взгляд огромный плюс.
Подключение к ADO
Отключение от ADO
Выполнение запроса
Пример запроса:
Запись в Excel тоже производится в виде запроса:
Хочу отметить что наименование полей производится по первой строке в таблице
ADODB предоставляет ряд объектов, с которыми мы работаем
ADODB.Recordset
В файле продемонстрированны оба варианта работы с запросами.
На этом пока все. По возможности буду дополнять статью :)
В архиве находится обработка, которая демонстрирует все описанные и другие возможности при работе с Excel.
Не секрет, что среди офисных работников, в частности тех, которые заняты в расчетной и финансовой сфере, особенно популярны программы Excel и 1С. Поэтому довольно часто приходится производить обмен данными между этими приложениями. Но, к сожалению, далеко не все пользователи знают, как быстро это сделать. Давайте выясним, как выгрузить данные из 1С в документ Excel.
Выгрузка информации из 1C в Excel
Если загрузка данных из Excel в 1С – это довольно сложная процедура, автоматизировать которую можно только с помощью сторонних решений, то обратный процесс, а именно выгрузка из 1С в Эксель – это сравнительно простой набор действий. Его можно легко выполнить с помощью встроенных инструментов вышеуказанных программ, причем сделать это можно несколькими способами, в зависимости от того, что именно пользователю нужно перенести. Рассмотрим, как это выполнить на конкретных примерах в 1С версии 8.3.
Способ 1: копирование содержимого ячейки
Одна единица данных содержится в ячейке 1С. Её можно перенести в Эксель обычным методом копирования.
-
Выделяем ячейку в 1С, содержимое которой нужно скопировать. Кликаем по ней правой кнопкой мыши. В контекстном меню выбираем пункт «Копировать». Можно воспользоваться также универсальным способом, который действует в большинстве программ, работающих на ОС Windows: просто выделяем содержимое ячейки и набираем комбинацию клавиш на клавиатуре Ctrl+C.
Вместо этого действия можно после выделения ячейки, находясь во вкладке «Главная», щелкнуть по значку «Вставить», который расположен на ленте в блоке «Буфер обмена».
Содержимое ячейки 1С будет вставлено в Excel.
Способ 2: вставка списка в существующую книгу Excel
Но вышеуказанный способ подойдет лишь в том случае, если нужно перенести данные из одной ячейки. Когда же нужно совершить перенос целого списка, то следует воспользоваться другим способом, ведь копирование по одному элементу отберет очень много времени.
-
Открываем любой список, журнал или справочник в 1С. Кликаем на кнопку «Все действия», которая должна располагаться вверху от обрабатываемого массива данных. Запускается меню. Выбираем в нем пункт «Вывести список».
Поле «Выводить в» имеет два значения:
По умолчанию установлен первый вариант. Для переноса данных в Эксель он как раз и подходит, так что тут мы ничего не меняем.
В блоке «Выводить колонки» можно указать, какие колонки из списка вы хотите перевести в Excel. Если вы собираетесь производить перенос всех данных, то эту настройку тоже не трогаем. Если же вы хотите произвести конвертацию без какого-то столбца или нескольких столбцов, то снимаем галочку с соответствующих элементов.
Список вставлен в документ.
Способ 3: создание новой книги Excel со списком
Также список из программы 1С можно сразу вывести в новый файл Эксель.
- Выполняем все те шаги, которые были указаны в предыдущем способе до формирования списка в 1С в табличном варианте включительно. После этого жмем на кнопку вызова меню, которая расположена в верхней части окна в виде треугольника, вписанного в оранжевый круг. В запустившемся меню последовательно переходим по пунктам «Файл» и «Сохранить как…».
Ещё проще сделать переход, нажав на кнопку «Сохранить», которая имеет вид дискеты и расположена в блоке инструментов 1С в самом верху окна. Но такая возможность доступна только пользователям, которые применяют программу версии 8.3. В ранних версиях можно использовать только предыдущий вариант.
Весь список будет сохранен отдельной книгой.
Способ 4: копирование диапазона из списка 1С в Excel
Бывают случаи, когда нужно перенести не весь список, а только отдельные строки или диапазон данных. Этот вариант тоже вполне воплотим с помощью встроенных инструментов.
-
Выделяем строки или диапазон данных в списке. Для этого зажимаем кнопку Shift и кликаем левой кнопкой мыши по тем строкам, которые нужно перенести. Жмем на кнопку «Все действия». В появившемся меню выбираем пункт «Вывести список…».
Способ 5: Сохранение документов в формате Excel
В Excel иногда нужно сохранять не только списки, но и созданные в 1С документы (счета, накладные платежные поручения и т.д.). Это связано с тем, что для многих пользователей редактировать документ проще в Экселе. К тому же в Excel можно удалить заполненные данные и, распечатав документ, использовать его при необходимости как бланк для ручного заполнения.
-
В 1С в форме создания любого документа имеется кнопка печати. На ней расположена пиктограмма в виде изображения принтера. После того, как в документ введены необходимые данные и он сохранен, жмем на этот значок.
Документ будет сохранен в формате Эксель. Этот файл теперь можно открывать в данной программе, и проводить дальнейшую его обработку уже в ней.
Как видим, выгрузка информации из 1С в формат Excel не составляет никаких сложностей. Нужно знать только алгоритм действий, так как, к сожалению, не для всех пользователей он интуитивно понятен. С помощью встроенных инструментов 1С и Эксель можно копировать содержимое ячеек, списков и диапазонов из первого приложения во второе, а также сохранять списки и документы в отдельные книги. Вариантов сохранения достаточно много и для того, чтобы пользователь мог найти подходящий именно для его ситуации, совсем не нужно прибегать к использованию стороннего программного обеспечения или применять сложные комбинации действий.
Мы рады, что смогли помочь Вам в решении проблемы.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.
Помогла ли вам эта статья?
Еще статьи по данной теме:
В 1С формируются квитанции ЖКХ на 200 квартир,
затем выгружается в Excel, приэтом бухгалтер утверждает, что она не может сформировать список жильцов по возрастанию номеров квартир. Например кв. № 1, 2, 3 и т.д.
Присылает бухгалтер: кв. № 46, кв. 001, кв. 010, кв. 100, кв 111 и.д.
Работать с таким порядком в ТСЖ для подготовки выписок квитанций за три года для суда, крайне сложно. Ответ бухгалтера- так работает программа. (т.е. программа создана не для людей).
В Excel — есть программа поиска по фамилии, по квартире, но она не работает с выгрузкой из 1С.
как выйти из этого дурацкого положения?
Красные флаги, броневик и вся власть советам
можно ли сделать выгрузу с 1с в EXcel книги учета материальных ценностей
Задайте вопрос или оставьте свое мнение Отменить комментарий
После манипуляции с файлом необходимо его закрыть. В противном случае он останется захваченным в системе, и мы не сможем его использовать в других приложениях.
Клиент-Серверный вариант в управляемых формах.
1. Считываем данные из файла в массив из структур и затем этот массив передаем на сервер для дальнейших манипуляций с данными.
2-ой способ — это передать файл Excel на сервер через хранилище данных и далее работать с ним уже на сервере.
Очень часто приходится работать с очень большими файлами Excel, и его обработка путем перебора строк занимает огромное количество времени.
В таких случаех удобно в одно действие загрузить всю таблицу в массив и в потом работать уже непосредственно с массивом.
На выходе получаем двумерный массив, который содержит все данные указанного листа Excel
Полезные функции при работе с Excel:
Устанавливает видимость Excel при работе |
Добавление новой книги в файл Excel |
Сохранение книги Excel |
Добавление нового листа к книге |
Переименование листа |
Изменение маштаба листа |
Изменение ориентации листа |
Отступы листа |
Обращение к ячейки чтение/запись |
Обращение к области ячеек |
Очень часто при чтении или записи значений в Excel ставятся лишние пробелы в числе, например, вместо 1502 он читает как 1 502 и в дальнейшем это значение не приводится к числу. Эту проблему можно решить заменой. |
Объединение ячеек |
Работа с именованными ячейками в Excel |
Удаление ячейки |
Удаление области ячеек |
Обращение к строке |
Изменение ширины колонки |
Обращение к колонке |
Удаление Строки |
Фон ячейки / области / Строки / |
Функция переводит цвет из формата RGB в формат Excel |
Управление шрифтом в ячейки/строке/области |
Р азрешает переносить по словам в ячейке |
Управление рамкой ячейки |
Устанавливаем формат ячейки |
Формула в ячейки |
Формула в ячейки |
Формула в ячейки |
Формула в ячейки |
Функция для получения ширины колонки Excel Спасибо пользователю goodwill |
Разрешить перенос слов в ячейке Спасибо пользователю roofless |
Группировки данных на листе Спасибо пользователю dr-wit, ignor |
При работе с Excel мы оперируем столбцами как числом (Например, 1 столбец), а у Excel адресация столбцов производится с помощью символов. И когда нам нужно отредактировать формулу, то нам нужно номер столбца преобразовать в символ. В таких случаях вам пригодится эта функция.
2. Работа с Excel через ТабличныйДокумент 1С
С помощью данного метода можно и загружать из Excel и выгружать в Excel. Но на мой взгляд этот метод идепально подходит когда вам необходимо посто сохранить информацию в Excel без дальнейшей манипуляции.
Итак, приступим: загрузка из Excel:
1. Загружаем файл Excel в табличный документ
2. Производим манипуляции уже с ТабличнымДокументом
Давайте теперь разберем сохранение в Excel с помощью данного метода:
Тут все очень просто сначала мы формируем обычный Табличный документ и затем записываем его в Excel
2. Работа с Excel ADODB
Выражаю особую благодарность коллеги Fragster за хороший комментарий
Данный метод позволяет работать с Excel через ODBC и имеет ряд преимуществ:
- Не требует установки самой Excel, необходима лишь установить ODBC. Но как правило он уже установлен. Это особенность позволяет работать на стороне сервера без дополнительных установок Excel.
- Позволяет работать с таблицой Excel как с БД и строить к ней запросы на T-SQL. Таким образом мы можем делать отборы еще на этапе чтения данных и другие преимущества что дает Т-SQL. Что на мой взгляд огромный плюс.
Подключение к ADO
Отключение от ADO
Выполнение запроса
Пример запроса:
Запись в Excel тоже производится в виде запроса:
Хочу отметить что наименование полей производится по первой строке в таблице
ADODB предоставляет ряд объектов, с которыми мы работаем
ADODB.Recordset
В файле продемонстрированны оба варианта работы с запросами.
На этом пока все. По возможности буду дополнять статью 🙂
В архиве находится обработка, которая демонстрирует все описанные и другие возможности при работе с Excel.
Читайте также: