Выгрузка из 1С в Excel: отчёты, списки и печатные формы
Содержание
Чтобы перевести данные из 1С в Excel, откройте нужный отчёт, нажмите кнопку «Сохранить» (значок дискеты) и выберите формат Лист Excel 2007-... (*.xlsx). Для списков документов и справочников путь другой: Еще → Вывести список…, затем сохранение полученной таблицы. Оба способа работают в обычных конфигурациях 8.3 без доработок.
Если нужно быстро и немного, хватит копирования через буфер обмена. Если выгрузка повторяется каждый день, пригодятся печатные формы, внешние обработки и программная запись файла. Ниже — все способы от простого к сложному и разбор проблем, на которых спотыкаются чаще всего: «слипшиеся» числа, потерянные нули и «кракозябры» в CSV.
Какой способ выбрать
Единого лучшего способа нет. Он зависит от того, что именно вы выгружаете и как часто.
| Способ | Когда подходит | Ограничения |
|---|---|---|
| Сохранение отчёта | Готовый отчёт, ОСВ, карточка счёта | Только то, что есть в отчёте |
| Вывод списка | Журнал документов, справочник | Выгружаются видимые колонки и отбор |
| Буфер обмена | Несколько строк или колонок | Руками, большие объёмы тормозят |
| Печатная форма | Нужен именно бланк документа | Форма фиксирована |
| Внешняя обработка | Нестандартный состав данных | Нужна обработка и права |
| COM или запись файла из кода | Регулярная автоматическая выгрузка | Нужен программист |
Сохранение отчёта и вывод списка из интерфейса
Это основной способ, и им закрывается большая часть задач.
Отчёт
- Откройте отчёт и нажмите «Сформировать». Настройте период и отборы до выгрузки, а не после.
- Нажмите кнопку «Сохранить» на панели отчёта. Если её не видно, поищите в меню «Еще» или на значке с дискетой.
- В окне сохранения выберите тип файла
xlsx. Старыйxlsоставьте только для программ, которые других не понимают. - Укажите папку и имя файла, нажмите «Сохранить».
В списке форматов есть и pdf, и mxl. Формат mxl — родной табличный документ 1С, Excel его не откроет.
Список документов или справочника
- Откройте журнал или справочник. Задайте отбор или период, чтобы в списке остались нужные строки.
- Нажмите
Еще → Вывести список…. - Отметьте колонки, которые нужны. Лишние уберите — файл станет компактнее.
- В результате откроется табличный документ. Сохраните его так же, как отчёт: кнопка «Сохранить», формат
xlsx.
Выводится то, что отобрано в списке, а не вся таблица в базе. Если в журнале стоит отбор по организации, в файл попадёт только она.
Расшифровка и группировки
Отчёт с группировками сохраняется вместе с отступами. В Excel группы можно свернуть значком уровней слева, но формулы по такой таблице писать неудобно. Если вам нужны данные для сводной таблицы, в настройках отчёта лучше выбрать вариант без иерархии и показать детальные записи в виде обычного списка.
Копирование через буфер обмена
Самый быстрый способ для небольших кусков. Подходит для отчётов и списков.
- Выделите ячейки мышью или клавишами Shift со стрелками. В отчёте можно выделить прямоугольник из строк и колонок.
- Нажмите
Ctrl+C. - В Excel встаньте в ячейку и нажмите
Ctrl+V.
Что стоит знать:
- ✅ В отчёте копируются значения так, как они показаны: с форматом даты и разделителями.
- ✅ Из списка копируются только выделенные строки. Чтобы взять весь список, нажмите
Ctrl+A. - ⚠️ Копировать из списка нужно колонки, видимые на экране. Скрытые не попадут.
- ⚠️ Большие объёмы (десятки тысяч строк) через буфер идут долго, а клиент может «зависнуть». Для них сохраняйте файлом.
Если в Excel числа вставились как текст (слева в ячейке, с зелёным уголком), выделите колонку, выберите Данные → Текст по столбцам → Готово. Excel пересчитает значения.
Печатные формы: выгрузка бланка в Excel
Накладную, счёт или акт иногда нужно получить в Excel именно в виде бланка, например чтобы поменять вёрстку или отправить контрагенту.
- Откройте документ и нажмите «Печать», затем выберите нужную форму.
- Форма откроется в окне просмотра. Нажмите «Сохранить» и выберите формат
xlsx. - Для массовой выгрузки выделите несколько документов в журнале и выберите печать для всех выделенных — получится один файл.
Печатные формы можно настроить. Если у вашей конфигурации есть подсистема «Печатные формы, отчёты и обработки» (раздел Администрирование), там подключаются дополнительные формы, а часть макетов правится прямо в базе. Правку макета лучше делать у программиста: сломанный макет перестанет печататься у всех пользователей.
Перед изменением макетов и любых настроек в рабочей базе сделайте резервную копию и согласуйте работу с регламентом.
Если в Excel форма «поехала» (текст обрезан, колонки разной ширины), причина обычно в объединённых ячейках макета. Для такого случая проще сохранить табличный документ без привязки к страницам или выгрузить данные отдельным отчётом.
Внешние обработки и расширения
Когда стандартный отчёт не содержит нужных данных, их собирают отдельной обработкой. Бывает два варианта.
Внешняя обработка
Файл с расширением .epf. Его открывают через Файл → Открыть (если у пользователя есть право на открытие внешних обработок) или подключают как дополнительную обработку в разделе Администрирование.
Типовой сценарий: обработка читает данные из выбранного списка, формирует таблицу значений и сохраняет её в xlsx.
Расширение конфигурации
Расширение добавляет в стандартную форму новую кнопку «Выгрузить в Excel» или свой отчёт. Плюс: оно переживает обновление конфигурации . Минус: его подключает администратор или разработчик.
Не подключайте обработки неизвестного происхождения. Внешняя обработка выполняет код с правами пользователя и может читать или менять данные. Берите файлы у разработчика или из проверенного источника, сначала проверяйте на копии базы.
Если пользователь не может открыть .epf, это настройка прав и безопасного режима, а не поломка файла. Обратитесь к администратору базы.
Кодировка, нули и числа: что ломается при выгрузке
Три проблемы встречаются чаще остальных. Разберём каждую.
1. «Кракозябры» при открытии CSV
Программа выгрузила файл в одной кодировке, а Excel ждёт другую. Для русского текста подходит Windows-1251 или UTF-8 с BOM.
Как исправить:
- Не открывайте CSV двойным щелчком. Откройте пустой Excel и выберите
Данные → Из текста/CSV. - В окне предпросмотра выберите кодировку
65001: Unicode (UTF-8)или1251: Кириллица (Windows), пока текст не станет читаемым. - Задайте разделитель: в русских настройках Excel это обычно точка с запятой.
Если можете, сохраняйте сразу в xlsx. Тогда вопрос кодировки не возникает совсем.
2. Пропали ведущие нули
ИНН, КПП, артикулы и номера счетов часто начинаются с нуля. Excel считает их числом и обрезает.
- Перед вставкой выделите колонку и задайте формат ячеек «Текстовый».
- Либо при импорте CSV укажите тип колонки «Текст».
- Если нули уже потеряны, а длина известна, поможет формула
=ТЕКСТ(A1;"0000000000")(для 10 цифр).
3. Числа и даты «слиплись»
Типичные случаи:
| Симптом | Причина | Решение |
|---|---|---|
| Число выровнено влево | Пробел-разделитель или неразрывный пробел | Заменить пробел на пустое место через Ctrl+H |
| Вместо суммы дата | Excel «угадал» формат | Задать формат колонки до вставки |
| Запятая вместо точки | Региональные настройки | Проверить разделитель дробной части в Windows |
Длинное число показано как 1,23E+15 | Автоформат | Формат «Текстовый» для номеров |
Неразрывный пробел выглядит как обычный, но функция ПОДСТАВИТЬ(A1;СИМВОЛ(160);"") его убирает.
Выгрузка из кода: файл и COM-соединение
Для регулярных выгрузок (каждый день, по расписанию) всё делают программно. Есть два способа.
Запись файла без Excel
Табличный документ 1С умеет сохраняться в xlsx сам. Excel на компьютере для этого не нужен:
ТабДок.Записать("C:\Выгрузка\отчет.xlsx", ТипФайлаТабличногоДокумента.XLSX);
Это самый надёжный вариант: работает на сервере, не зависит от версии Office, не открывает окон.
COM-соединение с Excel
Если нужно управлять самим Excel (формулы, форматирование, макросы), используют COM:
Excel = Новый COMОбъект("Excel.Application");
Excel.Visible = Ложь;
Книга = Excel.Workbooks.Add();
Лист = Книга.Worksheets(1);
Лист.Cells(1, 1).Value = "Номенклатура";
Лист.Cells(1, 2).Value = "Количество";
Книга.SaveAs("C:\Выгрузка\остатки.xlsx");
Книга.Close();
Excel.Quit();
Особенности COM:
- ⚠️ На компьютере, где выполняется код, должен быть установлен Excel.
- ⚠️ На сервере 1С COM к Office запускать не рекомендуется: Office не рассчитан на работу без пользователя.
- ⚠️ Если код упал до
Excel.Quit(), процессEXCEL.EXEостаётся в памяти. В коде используйтеПопытка … Исключение, чтобы закрыть Excel при любой ошибке. - ✅ Запись по ячейкам медленная. Если строк много, заполняйте диапазон массивом одним присваиванием, а не в цикле.
Запускать выгрузки по расписанию и править код в рабочей базе нужно только после резервной копии и согласования с администратором.
Как подготовить данные, чтобы в Excel было удобно работать
Хорошая выгрузка — та, с которой не нужно возиться после. Несколько приёмов:
- ✅ Выгружайте детальные записи, а не итоги с группировками: из плоской таблицы сводная строится за минуту.
- ✅ Давайте колонкам понятные заголовки в первой строке и не оставляйте пустых строк внутри таблицы.
- ✅ Даты и суммы держите в отдельных колонках, не склеивайте их в одну строку.
- ✅ Для сверки с базой сохраняйте рядом идентификатор строки: номер документа или код справочника.
- ⚠️ Не выгружайте персональные данные сотрудников и контрагентов без необходимости. Файл на флешке или в почте выйдет из-под вашего контроля.
Пример: нужно сверить остатки склада с таблицей поставщика. Выгрузите отчёт по остаткам с детализацией до номенклатуры, сохраните в xlsx, в Excel добавьте колонку с формулой ВПР по артикулу и сразу увидите расхождения.
Если не получилось
Пройдите по списку, начиная с самого простого:
- Кнопки «Сохранить» нет. Возможно, отчёт не сформирован. Нажмите «Сформировать» и проверьте, что в окне появилась таблица.
- Файл не открывается в Excel. Проверьте расширение: после сохранения в
mxlExcel файл не прочтёт. Сохраните заново вxlsx. - Excel пишет, что формат не соответствует расширению. Файл сохранён как HTML или CSV под именем
xlsx. Сохраните заново и выберите тип явно. - Не хватает колонок. Вернитесь в список или в настройки отчёта, включите нужные колонки и повторите вывод.
- Выгрузка огромная, клиент не отвечает. Разбейте её по периодам или выгрузите на сервере через код.
- Не помогло. Попросите администратора проверить права на запись в папку и ограничения на запуск внешних файлов.
xlsx.Еще → Вывести список…, оставьте нужные колонки и сохраните результат в xlsx.Ctrl+C, затем Ctrl+V в Excel.xlsx.xlsx, при необходимости COM.Частые вопросы
Можно ли выгрузить из 1С в Excel всю базу?
.dt через Конфигуратор, но Excel его не прочтёт.Чем отличается `xls` от `xlsx` при сохранении?
xls — старый формат, ограничен 65 536 строками. xlsx вмещает больше миллиона строк и открывается любой современной версией Excel.Почему при выгрузке списка нет части колонок?
Как выгрузить из 1С в Excel без установленного Excel?
xlsx из интерфейса или кодом. Файл откроется в любой программе, понимающей этот формат, например в бесплатных офисных пакетах.