Справочники и Данные · 9 мин
Как обработать Excel в 1С: практическое руководство
Как обработать Excel-файл в 1С: чтение через COM и табличный документ, загрузка данных в справочники и документы, типовые обработки, ошибки и проверка результата.
Обработка Excel-файлов в 1С — одна из самых частых задач: загрузить номенклатуру от поставщика, перенести остатки при старте учёта, обновить цены или выгрузить данные для контрагента. В зависимости от конфигурации и объёма данных задачу можно решить типовыми средствами без программирования, встроенными механизмами платформы или собственной обработкой на встроенном языке.
Главный вопрос перед началом работы — что именно нужно сделать: прочитать файл и загрузить данные в базу, или сформировать Excel-файл из 1С. От этого зависит выбор инструмента. Для разовой загрузки в типовую конфигурацию обычно достаточно встроенной обработки «Загрузка данных из табличного документа», для регулярного обмена имеет смысл написать или заказать специализированную обработку.
Определите задачу: загрузка, чтение или выгрузка
Под «обработать Excel в 1С» обычно понимают три разных сценария. Первый — загрузка данных из Excel в базу: номенклатуры, контрагентов, цен, остатков, строк документов. Второй — чтение файла для разового просмотра или сверки без записи в базу. Третий — выгрузка данных из 1С в Excel для передачи контрагенту или анализа.
Сценарий определяет инструмент. Для сверки достаточно открыть файл как табличный документ через меню «Файл → Открыть». Для загрузки нужна обработка с сопоставлением колонок и реквизитов. Для выгрузки подходят сохранение табличного документа в формате XLSX или программное формирование файла.
Как выбрать способ
Загрузка через типовую обработку «Загрузка данных из табличного документа»
В конфигурациях на БСП (Управление торговлей, Бухгалтерия, ERP и других) есть встроенная обработка загрузки. Найти её можно через поиск в разделах «НСИ и администрирование», «Администрирование» или через «Все функции → Обработки». Она умеет загружать данные в справочники, табличные части документов и некоторые регистры сведений.
Порядок работы такой: откройте обработку, выберите объект загрузки (например, справочник «Номенклатура»), откройте Excel-файл — его содержимое появится в табличном поле. Затем настройте соответствие колонок реквизитам: укажите, в какой колонке наименование, в какой артикул, в какой цена. После настройки нажмите «Загрузить» и проверьте результат.
- 1Сделайте архивную копию базы или загрузите сначала в тестовую базу
- 2Подготовьте файл: первая строка — заголовки, без объединённых ячеек и пустых строк внутри данных
- 3Откройте обработку «Загрузка данных из табличного документа» и выберите объект
- 4Откройте файл, проверьте, что данные отобразились корректно
- 5Настройте соответствие колонок реквизитам объекта
- 6Загрузите небольшую партию (10–20 строк) и проверьте результат
- 7Загрузите остальные данные и сверьте итоговые количества
Обратите внимание на режим поиска существующих элементов. Обработка может искать дубли по наименованию, коду или выбранным реквизитам. Неверно выбранный ключ поиска — самая частая причина задвоения справочника: при повторной загрузке создаются новые элементы вместо обновления существующих.
Подготовка Excel-файла перед загрузкой
Качество загрузки на 80% определяется подготовкой файла. Уберите объединённые ячейки, многострочные шапки, промежуточные итоги и пустые строки внутри таблицы — всё это ломает структуру при чтении. Идеальный файл для загрузки — плоская таблица: первая строка с заголовками, далее только данные.
Проверьте форматы данных. Числа должны быть числами, а не текстом с пробелами-разделителями. Даты — в едином формате, желательно ДД.ММ.ГГГГ. Артикулы и коды с ведущими нулями храните как текст, иначе Excel уже «съел» нули, и восстановить их придётся вручную. Если данные собирались из разных источников, прогоните колонки через «Текст по столбцам» или формулы очистки.
Программное чтение Excel: табличный документ и COM
Если типовой обработки недостаточно, файл читают программно. Самый простой способ — метод табличного документа Прочитать(): платформа сама открывает XLSX и помещает содержимое в табличный документ, откуда данные перебираются по ячейкам. Способ не требует установленного Excel и работает на сервере, но на очень больших файлах потребляет много памяти.
Альтернатива — COM-подключение к Excel через объект Excel.Application. Этот способ даёт доступ ко всем возможностям Excel (формулы, форматы, несколько листов), но требует установленного Excel на машине, где выполняется код, работает медленнее и не подходит для серверного кода в клиент-серверном режиме без дополнительной настройки.
ТабДок = Новый ТабличныйДокумент;
ТабДок.Прочитать("C:\Данные\Номенклатура.xlsx", СпособЧтенияЗначенийТабличногоДокумента.Значение);
Для НомерСтроки = 2 По ТабДок.ВысотаТаблицы Цикл
Наименование = ТабДок.Область(НомерСтроки, 1).Текст;
// поиск или создание элемента справочника
КонецЦикла;Для больших файлов (сотни тысяч строк) рассмотрите предварительное преобразование в CSV: чтение текстового файла построчно значительно быстрее и экономнее по памяти, чем разбор XLSX. Минус — теряются форматы и несколько листов, поэтому способ подходит для простых плоских данных.
Сравнение способов чтения
Не требует Excel, работает на сервере. Ограничение: высокое потребление памяти на больших файлах
Полный доступ к возможностям Excel. Ограничение: нужен установленный Excel, медленно, проблемы на сервере
Быстро и экономно для больших объёмов. Ограничение: один лист, нет форматов, нужна подготовка файла
Выгрузка данных из 1С в Excel
Обратная задача решается проще. Любой отчёт или табличный документ в 1С сохраняется в Excel через «Файл → Сохранить как» с выбором формата XLSX. Для списков справочников и документов есть команда «Вывести список» — она формирует табличный документ из выбранных колонок, который затем сохраняется в файл.
Программно выгрузка делается заполнением табличного документа и вызовом метода Записать() с типом файла XLSX. Это удобно для регламентных выгрузок: прайс для клиентов, отчёт для головной компании, данные для маркетплейса. Файл формируется на сервере без установленного Excel.
Проверка результата и откат при ошибке
После любой загрузки сверьте контрольные цифры: количество загруженных строк с количеством строк в файле, итоговые суммы по документам, количество новых и обновлённых элементов справочника. Расхождение даже на одну строку — повод найти причину до продолжения работы.
Если загрузка пошла не так, не пытайтесь «догрузить поверх» — сначала удалите ошибочно созданные данные или восстановите базу из копии. Пометка на удаление созданных элементов через групповую обработку реквизитов работает только если вы точно знаете, какие элементы созданы этой загрузкой.
Как проверить результат загрузки
Совпадает с учётом заголовка и пустых строк
Строк больше или меньше — есть дубли или пропуски
Итоги по колонкам совпадают с итогами в Excel
Суммы расходятся — проблема с форматом чисел
Повторная загрузка обновляет те же элементы
При повторной загрузке создаются новые элементы
Частые вопросы
Можно ли загрузить Excel в 1С без программиста?
Да, в типовых конфигурациях на основе БСП для этого есть обработка «Загрузка данных из табличного документа». Она покрывает загрузку в справочники и табличные части документов без единой строки кода. Понадобится только аккуратно подготовить файл и правильно сопоставить колонки.
Почему 1С не открывает мой файл XLSX?
Частые причины: файл открыт в Excel и заблокирован, файл повреждён, используется старый формат XLS с макросами или защищённый паролем файл. Сохраните копию в обычном XLSX без пароля и повторите попытку.
Как загрузить данные в табличную часть документа, например товары в поступление?
В обработке загрузки выберите в качестве объекта табличную часть нужного вида документа. В файле должна быть колонка, позволяющая связать строки с конкретным документом (номер или ссылка), либо загрузка выполняется в один заранее созданный документ.
Что делать, если строк в файле несколько сотен тысяч?
Рекомендуется сохранить данные в CSV и читать файл построчно с транзакциями порциями. Чтение большого XLSX в табличный документ может занять много времени и памяти вплоть до аварийного завершения сеанса.
Можно ли обрабатывать Excel на сервере 1С без установленного Excel?
Да. Чтение через табличный документ и запись в XLSX выполняются средствами платформы и не требуют установленного Excel. Установленный Excel нужен только для COM-подключения через Excel.Application.
Что важно запомнить
Разовую загрузку в типовую конфигурацию делайте обработкой «Загрузка данных из табличного документа», тщательно подготовив файл. Для регулярных и нестандартных задач используйте программное чтение через табличный документ или CSV. Всегда тестируйте загрузку на копии и сверяйте контрольные итоги после выполнения.