Как связать 1с с excel

Обновлено: 25.04.2024

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

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

Чтение (Получение) данных из Excel
Доступ из 1С к Excel производится посредством OLE. Например, код
Код 1C v 7.x
позволит получить доступ через переменную "Эксель" к запущенному приложению Excel. А далее уже можно получить доступ к книге (файлу), листу и ячейке с данными.Чтобы открыть книгу (файл)
Код 1C v 7.x

Важно: не забывайте поле выполнения нужных действий добавлять код
Код 1C v 7.x
, иначе запущенный процесс останется незавершенным и будет занимать память и процессор компьютера.

Вывод данных в Excel
Для вывода (выгрузки) данных в Excel необходимо либо открыть существующую книгу, либо создать новую, и выбрать рабочий лист для вывода данных. Открытие существующей книги описано выше, а для создания новой книги нужно использовать следующий код:
Код 1C v 7.x

Так как при создании книги в Excel автоматически создаются листы (Сервис->Параметры->Общие->Листов в новой книге), то нужно лишь произвести выбор листа, с которым будет вестись работа:
Код 1C v 7.x
Следующим шагом будет установка значения ячейки:
Код 1C v 7.x
И в конце нужно произвести запись созданной книги:
Код 1C v 7.x
Важно: не забывайте, что в имени файлов не должно содержаться символов \ / : * ? " >

Распечатать

Похожие FAQ

Еще в этой же категории

Как в excel сохраненный из 1С вставить новый лист? 15
Я думаю, все сталкивались с однолистовым excel файлом из 1С, у которого на первый взгляд, нет возможности добавить листы. Все не так страшно - их просто скрыли или, что чаще всего - даже не отображали (обусловлено созданием файла из стороннего прил Как сформировать документ в Word из 1С? (Active Document) 14
ВНИМАНИЕ! При использовании кодов описанных ниже, уберите символ _ Давайте рассмотрим на примерах как это делается! =) Мне известно 2 способа: 1. Путем замены шаблонного текста в макете Wordа. 2. Путем вставки текста с помощью закладок в Wo Экспорт и Импорт данных 1С - Microsoft Excel 12
Экспорт Процедура ОсновныеДействияФормыЭкспорт(Кнопка) - выгружает из указанного справочника данные в режиме экспорта в файл в формате Microsoft Excel с указанным именем, используя преобразование данных к типу число и типу строка; Процедура Основ Преобразование XLS в MXL 10
Конвертация таблиц из Excel в MXL - скачать Converter Excel v MXL: Для 8.х - Для 7.7 - // Выбор файла Microsoft Excel Procedure FileNameStartChoice(Element, StdProcessing) StdProcessing = False; DialogFile = New FileDialog(FileDialogMode. Работа с MS Word через OLE 10
В качестве примера использования можно указать вот такую ситуацию: в зависимости от типа клиента (договора, документа и т.п) формируются разные тексты договоров с разным количеством таблиц. В реальности, конечно должены использоваться и макет и опис Посмотреть все в категории Работа с Microsoft Office и OpenOffice

При написании публикации использовалась версия платформы 8.3.6 .1760.
Модифицирована на версии платформы 8.3.10 .2168.

Одним из полезных нововведений на платформе 8.3.6 стала возможность возможность импорта содержимого из файлов в форматах XLS (Microsoft Excel 97), Microsoft Office OpenXML (Microsoft Excel 2007- 2010) и ODS (OpenDocument) в табличный документ.
На платформе 8.3.10 появилась возможность считывания данных с отдельных листов книги EXCEL.
Данная возможность доступна как в интерактивном режиме, так и из встроенного языка.
Реализована поддержка вставки из буфера обмена областей, скопированных из Microsoft Excel и OpenOffice Calc.
Реализация импорта из EXCEL на встроенном языке стала возможна в результате нововведений в функционал объекта "ТабличныйДокумент":
Для метода "Прочитать" объекта "ТабличныйДокумент" реализован параметр "СпособЧтенияЗначений" (Новое системное перечисление "СпособЧтенияЗначенийТабличногоДокумента").

В данной публикации приводится пример реализации функционала импорта из файлов EXCEL (xlsx, xls, ods) в таблицу значений в режиме 1С:Предприятие на платформе 8.3.6.

О файле EXCEL:
В общем случае файл EXCEL содержит несколько листов с данными.
Метод табличного документа "Прочитать" читает все листы в 1 (один) табличный документ на платформах 8.3.6-8.3.9, а на платформе 8.3.10 можно считать отдельные листы файла EXCEL.
Поэтому для использования данного функционала на версиях платформы 8.3.6-8.3.9 необходимо использовать файлы EXCEL, содержащие 1 (один) лист с данными, для платформы 8.3.10, такого ограничения нет.
О листе файла EXCEL:
Содержимое на листе должно быть разнесено по соответствующим колонкам по назначению.
В качестве примера содержимого листа может служить обычный прайс.
Рекомендутся ячейки таблицы на листе файла оформлять рамкой "Все границы" .
Колонки результирующей таблицы значений формируются по количеству, определяемому свойством "ШиринаТаблицы" табличного документа.
В последствии для удобства пустые колонки удаляются из результирующей таблицы значений.
О типах значений файла EXCEL:
Числа - как "число", даты - как "дата", Стоки - как "строка", Булево - как "строка" вида "ИСТИНА" ("TRUE") или "ЛОЖЬ" ("FALSE") .
В результирующую таблицу значений записываются типизованные значения.
О картинках файла EXCEL:
В исходном файле 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 и имеет ряд преимуществ:

  1. Не требует установки самой Excel, необходима лишь установить ODBC. Но как правило он уже установлен. Это особенность позволяет работать на стороне сервера без дополнительных установок Excel.
  2. Позволяет работать с таблицой Excel как с БД и строить к ней запросы на T-SQL. Таким образом мы можем делать отборы еще на этапе чтения данных и другие преимущества что дает Т-SQL. Что на мой взгляд огромный плюс.

Подключение к ADO

Отключение от ADO


Выполнение запроса

Пример запроса:

Запись в Excel тоже производится в виде запроса:

Хочу отметить что наименование полей производится по первой строке в таблице


ADODB предоставляет ряд объектов, с которыми мы работаем

ADODB.Recordset

В файле продемонстрированны оба варианта работы с запросами.

На этом пока все. По возможности буду дополнять статью :)

В архиве находится обработка, которая демонстрирует все описанные и другие возможности при работе с Excel.

Добрый день!
Интересует один вопрос.
Есть у меня книга в Excel с формулами, там проводятся расчет продукции. Функционал там со своими фишками, ну не просто вычитать и умножать.
Вот у меня вопрос такой, можно ли на подобие этого создать в 1C ?
Или перебросить с excela все это в 1С ? Главное что-бы формулы не терялись, так же работали как и в excele.

Как связать Delphi и Excel?
Нужно чтоб программа брала данные из таблиц excel и работала с ними в делфи, подскажите где можно.

Как связать Excel с Delphi?
Как связать delphi с excel, чтобы в stringgrid ввел определленные ячейки?

Как связать Visual Basic с Excel?
xachu s visual baisika saxraniat is edit.1 tex v documente excel v konkretnuiu acheiku pamagite.

Как связать Excel-макрос и VB6?
Доброго времени суток, господа! Попробовал обратиться в VB раздел - порекоммендовали попробовать.

я уверен что можно.
я бы "перебросил" - то есть написал бы всё в 1с, воспользовавшись тем, что написано в екселе.

Взять просто перекинуть как таблицу это не то.
Мне необходимо что-бы и формулы перекинулись, точнее что бы я осуществлял данный расчет уже в 1с и потом нажав кнопочку и создал счет.

А то как я делаю.
Все рассчитываю в excel потом открываю 1с создаю счет и все копиру туда.

ну перепишите логику расчёта в 1с.
сумма = 2*количествоГусей*количествоПетухов, типа такого
вводите те же исходные данные, что и в екселе, а оно само считает.

Доброго времени суток. Кто знает, скажите пожалуйста, как через excel происходит подключение к 1С, то есть как посредством запросов, VBA и прочего, минуя выгрузку CSV таблиц из 1C сразу обращаться к дужным данным в 1C? В excel есть вкладка данные (рисунок 1), в ней есть графа "Из базы данных SQL Server" (рисунок 2), которая открывает окно ввода сервера и инструкций (рисунок 3). Как я понимаю нужно туда подставить какие-то значения, но какие? У меня есть пользовательский логин и пароль для 1C, на вкладке 1С "О программе" есть тоже кое-какая информация (рисунок 4), и я так понимаю её тоже нужно куда-то вставить. Кто знает, помогите пожалуйста подключиться к 1С, два дня перерывал весь интернет, ничего не нашёл (или не понял). Очень нужно.

Как подключиться через Ado к листам Excel?
Знаю строку для установления связи с файлом. Но как открыть recordset на лист (например, мне нужно.

Из Excel в DBGrid. Подключиться к рабочей книге MS Excel, как к базе данных.
Доброго времени суток! У меня возникли проблемы при выводе таблицы с Excel на DBGrid, а именно.

Excel через ODBC, Как выбрать через Select столбец из файла Excel по букве?
Собственно проблема такая. Надо с помощью команды Select получить данные из столбца файла Excel по.

Как подключиться к таблице SQL из Excel
Здравствуйте. Такая проблема, не могу подобрать скрипт для экспорта таблицы в SQL. Помогите.

Решение

Нужно посомтреть в агенте сервера 1с как называется сервер sql и база данных на sql и подставить эти значения в эксель видимо

Решение

Это типа связующее звео между 1с и sql сервером. Обычно ярлык запуска находится по пути C:\Program Files\1cv8\common\1CV8 Servers (x86-64).msc (зависит от разрядности ОС). там список баз которые подключены к sql серверу и реквизиты подключения

Решение

_ЕГОР_, Ну скорее всего да, потому что в компании все работаю на ноутбуках, сервер с 1С находится где-то в другом месте. К нему как-то удалённым доступом подключение происходит насколько я знаю. Честно-говоря не очень разбираюсь в этом

Решение

ГарриНаФеррари, не так. базы могут быть серверными, и файлавыми. а даже находят на сервере, она все ровно может быть файловая. Здесь подробней

Решение

О программе - Режим

Добавлено через 21 секунду
ой блин на первом скрине ведь видно что серверная

Добавлено через 32 секунды
значит агент сервера по любому есть

Решение

_ЕГОР_, Прошу прощения, вылетело из головы, 1С у нас установлена на виртуальной машине. Когда я зашёл в диск С через виртуальную машину, то там нашёл вот эти папки, но всё-равно не понятно, что есть что

Решение

_ЕГОР_, насколько я понял, там такого нет (но может я и не прав). Но на панели быстрого доступа есть "диспетчер серверов". Посмотри пожалуйста скрины, там есть то, что нужно?

Вот так это выглядит в экселе:
Provider=SQLOLEDB.1;Password=бла-бла-бла;Persist Security Info=True;User Catalog=ИмяБД;Data Source=123.456.789.65\ИмяИнстансаСервера,Порт;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation машины;Use Encryption for Data=False;Tag with column collation when possible=False

По большому счету, Вы должны зайти на виртуальную машину и посмотреть имя инстанса и имя машины. А вот что Вы будете делать дальше - непонятно. Вы знаете имена БД, таблиц Вашей 1С?

Добавлено через 3 минуты
Увидел Ваш ответ и понял, что для начала Вы поставьте у себя SQL Server Management Studio (это штатный менеджер сервера). Как только Вы сможете подключиться им к SQL СЕРВЕРУ на виртуалке - сразу увидите, что на нем есть и что Вам нужно. Запросы отладите, прежде чем в этого монстра под названием Эксель их пихать.

vpivo, скажи пожалуйста, а где посмотреть имя инстанса и имя машины (примерно где). Я открыл снова диспетчер серверов (он в панели быстрого доступа), там кажется ничего нужного (скрин скинул), открыл сведения о системе (это уже внутри виртуальной машины), там что-то написано, но насколько это полезно неизвестно (скрин скинул). И ещё, когда открываю виртуальную машину, она представляется в виде окна, в верху которого написано "terminal2.domain.local", может это и есть имя машины?

Добавлено через 1 минуту
По поводу SQL Server Management Studio, подскажи пожалуйста, где его взять можно?

Как в ADO подключиться к файлу EXCEL?
Нужно взять данные из EXEL и положить в базу. Не получается в ADO подключиться к файлу EXEL.


Как подключиться к листу Excel, получив с него длинные текстовые значения?
Добрый день всем. Есть лист Эксель, к которому подключаюсь напрямую запросом вида: .

Как подключиться через wi-fi к интернету
Всем привет! Я хотел бы спросить,вот куплю я вай-фай установлю его на комп,а как через фай-фай.

Как подключиться к БД через ConnectoPool?
Vsem privet. Narod kto znaet kak podkljuchit'sja k DB cherez ConnectoPool. Budu.

Как средствами vba подключиться к sap и выполнять транзакции с данными из файла excel
Как средствами vba подключиться к sap, если можно напишите пример. Нужно выполнять транзакции с.

Как подключиться к базе 1С через инет?
Имеется компьютер с 1С и находящейся на нем базе. Интернет раздает свитч, т.е. у компьютера серый.

Читайте также: