Как сохранить файл Excel в формате DBF без потери данных: 5 работающих методов

При попытке сохранить таблицу Microsoft Excel в формате DBF стандартная опция "Сохранить как" не показывает этот формат в списке доступных — даже в последних версиях Excel 2021/2023. Проблема возникает потому, что поддержка .dbf была удалена из интерфейса начиная с Excel 2007, хотя технически возможность конвертации осталась. Чтобы экспортировать данные в dBase III/IV или FoxPro, потребуется обходной путь: либо через скрытые настройки сохранения, либо с использованием внешних инструментов.

В 90% случаев ошибка "Формат DBF недоступен" решается включением старого режима сохранения через Файл → Экспорт → Изменить тип файла. Однако если таблица содержит более 255 символов в ячейке, формулы массива или сводные таблицы, прямая конвертация обречена на сбой. В таких случаях придётся предварительно подготовить данные или использовать специализированные конвертеры вроде DBF Commander или Excel-to-DBF.

Почему Excel не показывает формат DBF в списке сохранения

Начиная с Excel 2007 корпорация Microsoft убрала DBF из стандартного диалога "Сохранить как" по двум причинам:

  • 📉 Устаревшая технология: формат .dbf активно использовался в 1990-х для баз данных dBase и FoxPro, но сегодня заменён на .accdb (Access) или SQL-базы.
  • 🔒 Ограничения формата: DBF не поддерживает ячейки длиннее 254 символов, форматирование, формулы массива и современные функции Excel.
  • 🛡️ Безопасность: уязвимости в старых драйверах .dbf могли использоваться для внедрения вредоносного кода.

Тем не менее, движок конвертации в DBF остался в ядре Excel. Его можно активировать через:

  1. Скрытые опции экспорта (метод работает в Excel 2010–2023).
  2. VBA-скрипты (требует включения макросов).
  3. Сторонние надстройки (например, DBF4Excel).
⚠️ Внимание: Если ваш файл Excel содержит кириллические символы в названиях листов или столбцов, при конвертации в DBF они превратятся в ?. Перед сохранением переименуйте их на латиницу.

Метод 1: Сохранение через "Экспорт" (Excel 2010–2023)

Это самый надёжный способ для пользователей современных версий Excel. Алгоритм:

  1. Откройте файл Excel и перейдите на лист, который нужно конвертировать.
  2. Нажмите Файл → Экспорт → Изменить тип файла.
  3. В списке форматов выберите "dBase III (.dbf)" или "dBase IV (.dbf)".
  4. Укажите папку для сохранения и имя файла (например, data.dbf).
  5. Нажмите Сохранить — появится окно с предупреждением о потерях данных. Подтвердите действие.

Если опция dBase отсутствует в списке:

  • 🔧 Убедитесь, что у вас установлен пакет совместимости Microsoft Access Database Engine (скачать с сайта Microsoft).
  • 📂 Попробуйте сохранить файл в формате .xls (Excel 97–2003), затем повторите экспорт.
  • 🔄 Перезапустите Excel — иногда опция появляется после перезагрузки.

Удалите все сводные таблицы и диаграммы

Замените формулы массива на статические значения

Укоротите текст в ячейках до 254 символов

Переименуйте листы на латиницу (например, "Sheet1")

-->

Метод 2: Использование VBA-макроса для автоматической конвертации

Если ручной экспорт не срабатывает, можно написать макрос, который сохранит активный лист в DBF. Откройте редактор VBA (Alt + F11) и вставьте следующий код:

Sub SaveAsDBF()

Dim ws As Worksheet

Dim savePath As String

' Указываем путь для сохранения (измените на свой)

savePath = "C:\Temp\output.dbf"

' Сохраняем активный лист в DBF

Set ws = ActiveSheet

ws.Copy

ActiveWorkbook.SaveAs Filename:=savePath, FileFormat:=xlDBF4

ActiveWorkbook.Close SaveChanges:=False

MsgBox "Файл сохранён как " & savePath, vbInformation

End Sub

Чтобы запустить макрос:

  1. Нажмите Alt + F8, выберите SaveAsDBF и нажмите Выполнить.
  2. Если появляется ошибка "Формат не поддерживается", убедитесь, что в настройках Excel включена поддержка старых форматов (Файл → Параметры → Дополнительно → Общие → Поддержка Lotus-форматов).
⚠️ Внимание: Макросы могут блокироваться антивирусом. Добавьте папку с файлом Excel в исключения или временно отключите защиту на время конвертации.
Расширенные настройки макроса

Чтобы сохранить конкретный лист (не активный), замените `Set ws = ActiveSheet` на `Set ws = ThisWorkbook.Sheets("ИмяЛиста")`.

Для сохранения в dBase III используйте `FileFormat:=xlDBF3` вместо `xlDBF4`.

Метод 3: Онлайн-конвертеры DBF (без установки ПО)

Если у вас нет прав на установку программ или макросы отключены, воспользуйтесь онлайн-сервисами. Лучшие варианты:

Сервис Макс. размер файла Поддержка кириллицы Ограничения
DBFViewer Convert 50 МБ Да Требует регистрации для файлов >10 МБ
Convertio 100 МБ Да Ограничение 2 файла в день без аккаунта
Zamzar 50 МБ Нет (заменяет на "?") Отправляет файл на email

Инструкция для Convertio:

  1. Перетащите файл .xlsx или .xls в окно браузера.
  2. Выберите формат DBF в списке целевых форматов.
  3. Нажмите Конвертировать и дождитесь обработки (может занять до 5 минут для больших файлов).
  4. Скачайте готовый .dbf файл.

Метод 4: Специализированные программы для работы с DBF

Для регулярной конвертации удобнее использовать десктопные утилиты. Они поддерживают пакетную обработку и сохраняют структуру данных точнее, чем Excel.

  • 💾 DBF Commander — позволяет редактировать DBF-файлы и конвертировать их из Excel. Поддерживает dBase III/IV, FoxPro и Clipper.
  • 🔄 Excel-to-DBF — надстройка для Excel, добавляющая кнопку экспорта в DBF прямо в ленту инструментов.
  • 📊 OpenOffice Calc — бесплатный аналог Excel, который сохраняет в DBF через Файл → Сохранить как → dBase (*.dbf).

Пример работы с DBF Commander:

  1. Установите программу и откройте её.
  2. Перейдите на вкладку Import и выберите файл Excel.
  3. Настройте соответствие типов данных (например, Текст → Char, Число → Numeric).
  4. Укажите путь для сохранения и нажмите Convert.

Стандартный экспорт через Excel

VBA-макросы

Онлайн-сервисы

Специализированные программы (DBF Commander и др.)

-->

Ошибки при конвертации Excel в DBF и их решения

Даже при успешном сохранении файл DBF может оказаться повреждённым. Распространённые ошибки и способы их исправления:

Ошибка Причина Решение
Недопустимый формат файла В Excel включён режим совместимости с Lotus 1-2-3 Отключите в Файл → Параметры → Дополнительно → Общие
Вместо кириллицы отображаются ???? Несовпадение кодировок (Excel использует UTF-8, а DBF — OEM 866) Пересохраните файл в ANSI или используйте конвертер с поддержкой CP866
Поле превышает максимальный размер Текст в ячейке длиннее 254 символов Разбейте текст на несколько ячеек или сократите его
Файл DBF не открывается в FoxPro Несовместимость версий (Excel сохраняет в dBase IV, а нужна FoxPro 2.6) Используйте DBF Commander с настройкой типа FoxPro

Критическая ошибка: Если после конвертации файл DBF имеет размер 0 КБ, это означает, что Excel не смог распознать структуру данных. В таком случае:

  1. Скопируйте данные из Excel в новый файл.
  2. Удалите все формулы (замените на значения через Копировать → Специальная вставка → Значения).
  3. Сохраните файл в формате .xls (Excel 97–2003) и повторите экспорт.

Сравнение методов конвертации: что выбрать

Выбор способа зависит от объёма данных, частоты конвертации и требований к точности:

  • 🔹 Разовое сохранение небольшого файла → Стандартный экспорт через Excel или онлайн-сервис.
  • 🔹 Регулярная конвертация больших таблицDBF Commander или VBA-макрос.
  • 🔹 Нужна поддержка FoxPro/Clipper → Специализированные программы (Excel-to-DBF).
  • 🔹 Работа в Linux/macOSOpenOffice Calc или python-dbf (для программистов).

Для автоматизации процесса можно создать .bat-файл с командой:

@echo off

"C:\Program Files\Microsoft Office\root\Office16\EXCEL.EXE" /x "MacroToDBF.xlsm"

Где MacroToDBF.xlsm — файл Excel с VBA-скриптом из Метода 2.

FAQ: Частые вопросы по конвертации Excel в DBF

Можно ли сохранить в DBF файл Excel с формулами?

Нет. Формат DBF не поддерживает формулы — только статические значения. Перед сохранением замените формулы на результаты вычислений (Копировать → Специальная вставка → Значения).

Почему после конвертации пропали русские буквы?

Это происходит из-за несовпадения кодировок. Решения:

  • Используйте DBF Commander с настройкой кодировки OEM 866.
  • Пересохраните исходный Excel-файл в формате ANSI (Файл → Сохранить как → Инструменты → Общие параметры → Кодировка: ANSI).

Как сохранить в DBF только один лист из книги Excel?

Способы:

  1. Скопируйте лист в новую книгу (ПКМ по листу → Переместить/скопировать) и сохраните её в DBF.
  2. В VBA-макросе укажите конкретный лист: Set ws = ThisWorkbook.Sheets("ИмяЛиста").

Поддерживает ли Excel 2026 сохранение в DBF?

Да, но опция скрыта. Используйте Файл → Экспорт → Изменить тип файла или макросы. В будущих версиях поддержка может быть удалена полностью — следите за анонсами Microsoft.

Можно ли открыть DBF-файл обратно в Excel?

Да. Откройте Excel, перейдите в Файл → Открыть, выберите тип файлов Все файлы (.) и укажите ваш .dbf. Данные отобразятся в виде таблицы, но форматирование и формулы будут потеряны.