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