Как открыть DBF в Excel
Файл, который десять лет открывался двойным щелчком, вдруг перестал. Это не поломка: поддержку DBF из Excel вырезали намеренно, и возвращать её не собираются.
Что именно произошло
Excel 2003 открывал и сохранял .dbf штатно. В Excel 2007 сохранение убрали, оставив открытие. В Excel 2013 убрали и открытие — формат объявили устаревшим и небезопасным.
Формально файл всё ещё можно затащить через устаревшие механизмы, но на практике пользователь видит либо ошибку, либо предложение выбрать разделитель, как для текстового файла — и получает мусор, потому что DBF двоичный.
Способы, которые остались
| Способ | Что получится | Чем неудобен |
|---|---|---|
| Драйвер ODBC для dBase | подключение из Excel через «Данные → Из других источников» | нужен 32/64-битный драйвер в тон Office, настройка DSN, memo часто не читается |
| LibreOffice Calc | открывает .dbf напрямую | спросит кодировку и не всегда угадает; memo поддерживается частично |
| Конвертер в CSV | промежуточный файл | две конвертации — два шанса испортить коды и даты |
| Просмотрщик в браузере | таблица сразу, выгрузка в XLSX при необходимости | не заменяет аналитический инструмент |
Что портится по дороге
Даже когда файл открылся, данные могут измениться незаметно.
- Коды с ведущими нулями превращаются в числа. Подробно это разобрано в статье про ведущие нули — механизм тот же.
- Записи, помеченные на удаление, попадают в таблицу наравне с остальными или, наоборот, пропадают — в зависимости от драйвера. Отсюда расхождение в числе строк.
- Memo-поля при отсутствии .fpt превращаются в пустоту или номер блока.
- Кодировка выбирается драйвером, а не файлом: русский текст легко превращается в кракозябры.
Как сделать правильно
Если задача — посмотреть, найти, сверить, выгрузить подмножество, промежуточный Excel не нужен вовсе: откройте файл в просмотрщике и выгрузите результат уже в XLSX, где типы расставлены осознанно.
Если Excel нужен как инструмент расчёта, всё равно выгодно сначала открыть DBF отдельно: увидеть структуру, убедиться в кодировке, отфильтровать лишнее — и только потом выгружать. Так в Excel попадёт то, что вы хотели, а не то, что решил драйвер.
Частые вопросы
Вернут ли поддержку DBF в Excel?
Нет. Формат объявлен устаревшим, и обратного движения за полтора десятка лет не случилось.
Почему LibreOffice открывает, а Excel нет?
LibreOffice сохранил собственную реализацию чтения dBase. Это не значит, что она полная: memo и экзотические типы поддержаны не полностью.
Можно ли сохранить обратно в DBF из Excel?
Штатно — нет, с 2007 года. Нужна либо сторонняя надстройка, либо инструмент, умеющий писать DBF.