Чем открыть DBF файл
Программ, которые «открывают DBF», десятки, но открывают они по-разному: одни теряют memo, другие путают кодировку, третьи не знают Visual FoxPro. Выбирать стоит по задаче, а не по списку возможностей.
Короткий ответ
- Посмотреть, найти, поправить, выгрузить — в браузере, ничего не устанавливая: DBF редактор онлайн.
- Посчитать в электронной таблице — открыть DBF, отфильтровать нужное и выгрузить в XLSX.
- Работать с базой, частью которой является таблица — родная программа: Visual FoxPro, dBase или учётная система, создавшая файл.
- Обрабатывать файлы регулярно — библиотека для вашего языка программирования.
Сравнение способов
| Способ | Сильные стороны | Ограничения |
|---|---|---|
| Онлайн-редактор в браузере | ничего не нужно ставить; все диалекты, memo, кодировки, удалённые записи; правка и сохранение | не заменяет СУБД: связей между таблицами и индексов нет |
| LibreOffice Calc | бесплатно, открывает .dbf напрямую, умеет сохранять | спрашивает кодировку и не всегда угадывает; memo и типы Visual FoxPro поддержаны частично |
| Microsoft Excel | привычная среда | с версии 2013 DBF не открывает; остаётся подключение через ODBC — подробно в статье DBF в Excel |
| Visual FoxPro, dBase | полная совместимость со своим диалектом, индексы, язык запросов | Visual FoxPro снят с поддержки в 2015 году; нужна лицензия и Windows |
| Платные просмотрщики DBF | много функций для правки и конвертации | только Windows; качество поддержки редких диалектов разное |
| Библиотеки: Python, .NET, Java | автоматизация, пакетная обработка | нужно писать код и самому следить за кодировкой и memo |
На что проверить любую программу
Возьмите свой реальный файл и посмотрите на четыре вещи — на них ошибается большинство инструментов:
- Русский текст читается без кракозябр. Если нет — программа выбрала не ту кодировку. Подробнее в статье про кодировки DBF.
- Memo-поля показывают текст, а не номер блока или пустоту. Об этом — в статье про файлы .fpt и .dbt.
- Число строк совпадает с ожидаемым. Расхождение почти всегда объясняется записями, помеченными на удаление.
- Коды с ведущими нулями остаются кодами:
00123, а не123.
Для программистов
В Python для чтения есть dbfread, для чтения и записи — dbf. В .NET — провайдер Visual FoxPro OLE DB (только 32-битный) или сторонние библиотеки чтения. В Java и Go тоже есть готовые читатели. Общий совет один: всегда явно указывайте кодировку и путь к memo-файлу, а не полагайтесь на значения по умолчанию.
Если данные нужно разово перенести в базу, быстрее выгрузить таблицу в SQL с готовым CREATE TABLE под нужную СУБД — PostgreSQL, MySQL, SQL Server или SQLite. Об этом — в статье про конвертацию DBF.
Если файл не открывается нигде
- Проверьте размер: файл меньше нескольких сотен байт или с нулевым размером — не таблица, а остаток неудачного копирования.
- Проверьте первый байт: версии перечислены на странице форматы DBF. Если он не похож ни на одну — у файла чужое расширение.
- Если число записей в заголовке больше, чем помещается в файл, файл обрезан. Хороший инструмент откроет всё, что уцелело, и предупредит об остальном.
Частые вопросы
Чем открыть DBF на телефоне?
Браузером: онлайн-редактор работает и на телефоне, файл выбирается из загрузок или облачного диска.
Чем открыть DBF на Mac или Linux?
Браузером или LibreOffice. Visual FoxPro и большинство платных просмотрщиков работают только в Windows.
Какая программа открывает DBF бесплатно?
LibreOffice Calc и онлайн-редактор на этом сайте. Для простых таблиц хватает обоих, для memo, редких диалектов и удалённых записей надёжнее второй.