При попытке сохранить таблицу 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. Его можно активировать через:
- Скрытые опции экспорта (метод работает в Excel 2010–2023).
- VBA-скрипты (требует включения макросов).
- Сторонние надстройки (например, DBF4Excel).
⚠️ Внимание: Если ваш файл Excel содержит кириллические символы в названиях листов или столбцов, при конвертации в DBF они превратятся в ?. Перед сохранением переименуйте их на латиницу.
Метод 1: Сохранение через "Экспорт" (Excel 2010–2023)
Это самый надёжный способ для пользователей современных версий Excel. Алгоритм:
- Откройте файл Excel и перейдите на лист, который нужно конвертировать.
- Нажмите
Файл → Экспорт → Изменить тип файла. - В списке форматов выберите "dBase III (.dbf)" или "dBase IV (.dbf)".
- Укажите папку для сохранения и имя файла (например,
data.dbf). - Нажмите
Сохранить— появится окно с предупреждением о потерях данных. Подтвердите действие.
Если опция 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
Чтобы запустить макрос:
- Нажмите
Alt + F8, выберитеSaveAsDBFи нажмитеВыполнить. - Если появляется ошибка
"Формат не поддерживается", убедитесь, что в настройках 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:
- Перетащите файл
.xlsxили.xlsв окно браузера. - Выберите формат DBF в списке целевых форматов.
- Нажмите
Конвертироватьи дождитесь обработки (может занять до 5 минут для больших файлов). - Скачайте готовый
.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:
- Установите программу и откройте её.
- Перейдите на вкладку
Importи выберите файл Excel. - Настройте соответствие типов данных (например,
Текст → Char,Число → Numeric). - Укажите путь для сохранения и нажмите
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 не смог распознать структуру данных. В таком случае:
- Скопируйте данные из Excel в новый файл.
- Удалите все формулы (замените на значения через
Копировать → Специальная вставка → Значения). - Сохраните файл в формате
.xls(Excel 97–2003) и повторите экспорт.
Сравнение методов конвертации: что выбрать
Выбор способа зависит от объёма данных, частоты конвертации и требований к точности:
- 🔹 Разовое сохранение небольшого файла → Стандартный экспорт через Excel или онлайн-сервис.
- 🔹 Регулярная конвертация больших таблиц → DBF Commander или VBA-макрос.
- 🔹 Нужна поддержка FoxPro/Clipper → Специализированные программы (Excel-to-DBF).
- 🔹 Работа в Linux/macOS → OpenOffice 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?
Способы:
- Скопируйте лист в новую книгу (
ПКМ по листу → Переместить/скопировать) и сохраните её в DBF. - В VBA-макросе укажите конкретный лист:
Set ws = ThisWorkbook.Sheets("ИмяЛиста").
Поддерживает ли Excel 2026 сохранение в DBF?
Да, но опция скрыта. Используйте Файл → Экспорт → Изменить тип файла или макросы. В будущих версиях поддержка может быть удалена полностью — следите за анонсами Microsoft.
Можно ли открыть DBF-файл обратно в Excel?
Да. Откройте Excel, перейдите в Файл → Открыть, выберите тип файлов Все файлы (.) и укажите ваш .dbf. Данные отобразятся в виде таблицы, но форматирование и формулы будут потеряны.