Lumpics lumpics.ru

Конвертирование данных из Microsoft Excel в формат DBF

DBF – это популярный формат хранения и обмена данными между различными программами, а в первую очередь, между приложениями, которые обслуживают базы данных и электронные таблицы. Хотя он и стал устаревать, но продолжает оставаться востребованным в различных сферах. Например, с ним продолжают активно работать бухгалтерские программы, а контролирующие и государственные органы принимают значительную часть отчетов в данном формате.

Но, к сожалению, Эксель, начиная с версии Excel 2007, прекратил полноценную поддержку указанного формата. Теперь в этой программе можно только просмотреть содержимое DBF-файла, а сохранить данные с указанным расширением встроенными инструментами приложения уже не получится. К счастью, имеются другие возможности конвертации данных из программы Excel в нужный нам формат. Рассмотрим, каким образом это можно выполнить.

Сохранение данных в формате DBF

В Excel 2003 и в более ранних версиях этой программы можно было сохранить данные в формате DBF (dBase) стандартным путем. Для этого нужно было кликнуть по пункту «Файл» в горизонтальном меню приложения, а затем в открывшемся списке выбрать позицию «Сохранить как…». В запустившемся окошке сохранения из списка требовалось выбрать наименование нужного формата и нажать на кнопку «Сохранить».

Но, к сожалению, начиная с версии Excel 2007, разработчики Microsoft посчитали dBase устаревающим, а современные форматы Эксель слишком сложными для того, чтобы тратить время и средства на обеспечение полной совместимости. Поэтому в Excel осталась возможность читать DBF-файлы, но поддержка сохранения данных в этом формате встроенными программными инструментами была прекращена. Тем не менее, существуют некоторые способы конвертации данных сохраненных в Excel в DBF при помощи применения надстроек и другого программного обеспечения.

Способ 1: надстройка XlsToDBF

Конвертировать книгу Эксель в dBase непосредственно через интерфейс приложения можно с помощью установки сторонних надстроек. Одной из лучших и наиболее удобных из них является надстройка XlsToDBF. Рассмотрим алгоритм её применения.

Скачать надстройку XlsToDBF

  1. После того, как скачали архив XlsToDBF.7z с надстройкой, распаковываем из него объект под названием XlsToDBF.xla. Так как архив имеет расширение 7z, то распаковку можно проводить либо стандартной программой для этого расширения 7-Zip, либо с помощью любого другого архиватора, который поддерживает работу с ним.
  2. Скачать 7-Zip бесплатно

    Распаковка архива 7Z в программе 7-Zip
  3. После этого запускаем программу Эксель и переходим во вкладку «Файл». Далее перемещаемся в раздел «Параметры» через меню в левой части окна.
  4. Переход в Параметры в Microsoft Excel
  5. В открывшемся окошке параметров кликаем по пункту «Надстройки». Перемещаемся в правую часть окна. В самом его низу расположено поле «Управление». Переставляем в нем переключатель в позицию «Надстройки Excel» и щелкаем по кнопке «Перейти…».
  6. Переход в надстройки в Microsoft Excel
  7. Открывается небольшое окошко управления надстройками. Жмем в нем на кнопку «Обзор…».
  8. Окно надстроек в Microsoft Excel
  9. Запускается окошко открытия объекта. Нам нужно перейти в ту директорию, где находится распакованный архив XlsToDBF. Заходим в папку под одноименным названием и выделяем объект с наименованием «XlsToDBF.xla». После этого жмем на кнопку «OK».
  10. Открытие надстройки в Microsoft Excel
  11. Затем мы возвращаемся в окошко управления надстройками. Как видим, в списке появилось наименование «XLS -> DBF». Это и есть наша надстройка. Около неё должна стоять галочка. Если галочка отсутствует, то ставим её, а затем жмем на кнопку «OK».
  12. Установка надстрйки в Microsoft Excel
  13. Итак, надстройка установлена. Теперь открываем документ Эксель, данные из которого нужно преобразовать в dBase, или же просто набираем их на листе, если документ ещё не создан.
  14. Таблица Excel открыта в Microsoft Excel
  15. Теперь нам нужно будет произвести некоторые манипуляции с данными, чтобы подготовить их к конвертации. Прежде всего, добавляем две строки над шапкой таблицы. Они должны быть самыми первыми на листе и иметь наименования на вертикальной панели координат «1» и «2».

    В самой верхней левой ячейке вписываем наименование, которое мы хотим присвоить создаваемому DBF-файлу. Оно состоит из двух частей: собственно названия и расширения. Допускается использование только латиницы. Пример такого наименования – «UCHASTOK.DBF».

  16. Наименование файла DBF в Microsoft Excel
  17. В первой ячейке справа от наименования нужно указать кодировку. Существует два варианта кодировки с применением данной надстройки: CP866 и CP1251. Если ячейка B2 пустая или в ней установлено любое значение отличное от «CP866», то по умолчанию будет применяться кодировка CP1251. Ставим ту кодировку, которую считаем нужной или оставляем поле пустым.
  18. Кодировка файла DBF в Microsoft Excel
  19. Далее переходим к следующей строке. Дело в том, что в структуре dBase каждый столбец, именуемый полем, имеет свой тип данных. Существуют такие их обозначения:
    • N (Numeric) – числовой;
    • L (Logical) – логический;
    • D (Date) – дата;
    • C (Character) – строковый.

    Кроме того, в строковом (Cnnn) и числовом типе (Nnn) после наименования в виде буквы следует указывать максимальное количество символов в поле. Если в числовом типе применяются десятичные знаки, то их количество тоже нужно указать после точки (Nnn.n).

    Существуют и другие типы данных в формате dBase (Memo, General и т.д.), но данная надстройка с ними работать не умеет. Впрочем, с ними не умел работать и Excel 2003, когда ещё поддерживал конвертацию в DBF.

    В нашем конкретном случае первое поле будет строковым шириной в 100 символов (C100), а остальные поля будут числовыми шириной в 10 символов (N10).

  20. Типы полей DBF в Microsoft Excel
  21. В следующей строке расположены наименования полей. Но дело в том, что они тоже должны быть внесены на латинице, а не на кириллице, как у нас. Также в наименовании полей не допускаются пробелы. Переименовываем их согласно этим правилам.
  22. Переименования полей в Microsoft Excel
  23. После этого подготовку данных можно считать оконченной. Выделяем на листе курсором с зажатой левой клавишей мыши весь диапазон таблицы. Затем переходим во вкладку «Разработчик». По умолчанию она отключена, поэтому перед дальнейшими манипуляциями нужно её активировать и включить работу макросов. Далее на ленте в блоке настроек «Код» кликаем по значку «Макросы».

    Можно сделать и чуть проще, набрав комбинацию горячих клавиш Alt+F8.

  24. Переход к макросам в Microsoft Excel
  25. Запускается окошко макросов. В поле «Имя макроса» вводим наименование нашей надстройки «XlsToDBF» без кавычек. Регистр при этом не важен. Далее щелкаем по кнопке «Выполнить».
  26. Запуск макроса в Microsoft Excel
  27. Макрос в фоновом режиме выполняет обработку. После этого в той же папке, где расположен исходный Excel-файл, будет сформирован объект с расширением DBF с тем наименованием, которое было задано в ячейке A1.

Как видим, данный способ значительно сложнее предыдущего. Кроме того, он весьма ограничен по количеству используемых типов полей и создаваемых типов объектов с расширением DBF. Ещё одним недостатком является то, что директорию создания объекта dBase можно назначать только перед процедурой конвертирования, путем прямого перемещения в папку назначения исходного Excel-файла. Среди преимуществ данного способа можно отметить то, что в отличие от предыдущего варианта, он абсолютно бесплатен и практически все манипуляции производятся непосредственно через интерфейс Эксель.

Способ 2: программа Microsoft Access

Хотя у новых версий Excel и нет встроенного способа сохранение данных в формате DBF, но, тем не менее, вариант с применением приложения Microsoft Access более всего приблизился к тому, чтобы назвать его стандартным. Дело в том, что эта программа выпущена тем же производителем, что и Эксель, и также входит в пакет Microsoft Office. К тому же, это самый безопасный вариант, так как не нужно будет связываться с программным обеспечением сторонних производителей. Microsoft Access специально предназначен для работы с базами данных.

Скачать Microsoft Access

  1. После того, как все необходимые данные на листе в Эксель введены, для того, чтобы конвертировать их в формат DBF, нужно сначала произвести сохранение в одном из форматов Excel. Для этого кликаем по иконке в виде дискеты в левом верхнем углу окна программы.
  2. Переход к сохранению файла в Microsoft Excel
  3. Открывается окно сохранения. Переходим в ту директорию, где желаем, чтобы файл был сохранен. Именно из этой папки его нужно будет потом открыть в Microsoft Access. Формат книги можно оставить по умолчанию xlsx, а можно поменять на xls. В данном случае это не критично, так как все равно мы сохраняем файл только для того, чтобы преобразовать его в DBF. После того, как все настройки выполнены, жмем на кнопку «Сохранить» и закрываем окно Excel.
  4. Сохранение файла в Microsoft Excel
  5. Запускаем программу Microsoft Access. Переходим во вкладку «Файл», если она открылась в другой вкладке. Жмем на пункт меню «Открыть», расположенный в левой части окна.
  6. Переход к открытию файла в Microsoft Access
  7. Запускается окно открытия файла. Переходим в ту директорию, где мы сохранили файл в один из форматов Excel. Чтобы он отобразился в окне, переставляем переключатель формата файлов в положение «Книга Excel (*.xlsx)» или «Microsoft Excel (*.xls)», в зависимости от того, в каком из них книга была сохранена. После того, как наименование нужного нам файла отобразилось, выделяем его и жмем на кнопку «Открыть».
  8. Открытие файла в Microsoft Access
  9. Открывается окно «Связь с электронной таблицей». Оно позволяет максимально корректно переместить данные из файла Excel в Microsoft Access. Нам нужно выбрать лист Эксель, данные из которого мы собираемся импортировать. Дело в том, что даже если в файле Excel содержалась информация на нескольких листах, то импортировать её в Access можно только отдельно и, соответственно, потом преобразовать её в отдельные файлы DBF.

    Также существует возможность импорта информации отдельных диапазонов на листах. Но в нашем случае это не нужно. Устанавливаем переключатель в позицию «Листы», а затем выбираем тот лист, откуда собираемся брать данные. Корректность отображения информации можно просмотреть в нижней части окна. Если все удовлетворяет, жмем на кнопку «Далее».

  10. Окно связи с электронной таблицей в Microsoft Access
  11. В следующем окне, если ваша таблица содержит заголовки, нужно поставить галочку около пункта «Первая строка содержит заголовки столбцов». Затем жмем на кнопку «Далее».
  12. Второе окно связи с электронной таблицей в Microsoft Excel
  13. В новом окне связи с электронной таблицей можно при желании изменить имя связанного элемента. Затем жмем на кнопку «Готово».
  14. Третье окно связи с электронной таблицей в Microsoft Excel
  15. После этого откроется диалоговое окно, в котором будет сообщение о том, что связывание таблицы с файлом Excel завершено. Жмем на кнопку «OK».
  16. Диалоговое окно в Microsoft Excel
  17. В левой части интерфейса программы появится наименование таблицы, которое мы присвоили ей в последнем окне. Дважды щелкаем по нему левой клавишей мыши.
  18. Наименование таблицы в Microsoft Access
  19. После этого таблица отобразится в окне. Перемещаемся во вкладку «Внешние данные».
  20. Перемещание во вкладку Внешние данные в Microsoft Access
  21. На ленте в блоке инструментов «Экспорт» кликаем по надписи «Дополнительно». В открывшемся списке выбираем пункт «Файл dBase».
  22. Переход к экспорту данных в Microsoft Access
  23. Открывается окно экспорта в формат DBF. В поле «Имя файла» можно указать место хранения файла и его наименование, если те, которые указаны по умолчанию, вам по какой-то причине не подходят.

    В поле «Формат файла» выбираем один из трех типов формата DBF:

    • dBASE III (по умолчанию);
    • dBASE IV;
    • dBASE 5.

    Нужно учесть, что чем современнее формат (выше порядковый номер), то тем больше существует возможностей по обработке в нем данных. То есть, выше вероятность того, что в файле удастся сохранить все данные таблицы. Но в то же время ниже вероятность того, что программа, куда вы в будущем собираетесь импортировать файл DBF, будет совместима именно с этим типом.

    После того, как все настройки выставлены, жмем на кнопку «OK».

  24. Окно экспорта в формат DBF в Microsoft Access
  25. Если после этого появилось сообщение об ошибке, то попробуйте экспортировать данные, используя другой тип формата DBF. Если же все прошло нормально, то появится окно, в котором сообщается, что экспорт выполнен успешно. Жмем на кнопку «Закрыть».
Окно экспорта в формат DBF в Microsoft Access

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

Как видим, несмотря на то, что в современных версиях Excel отсутствует возможность сохранения файлов в формате DBF встроенными инструментами, тем не менее, данную процедуру можно осуществить с помощью применения других программ и надстроек. При этом следует отметить, что наиболее функциональный способ конвертирования – это использование набора утилит WhiteTown Converters Pack. Но, к сожалению, количество бесплатных преобразований в нем ограничено. Надстройка XlsToDBF позволяет выполнить конвертацию абсолютно бесплатно, но процедура намного сложнее. К тому же функционал данного варианта очень ограничен.

«Золотой серединой» является способ с использованием программы Access. Как и Excel – это разработка компании Microsoft, а поэтому сторонним приложением его уже не назовешь. К тому же данный вариант позволяет конвертировать файл Excel в несколько типов формата dBase. Хотя по этому показателю Access все-таки уступает программе WhiteTown.

Обсудить в TelegramНаши группы в TelegramПолезные советы и помощь

Вам помогли мои советы?

Получить ответ на Email
Уведомить о

3 ответов
По рейтингу
Новые Старые
Межтекстовые Отзывы
Посмотреть все комментарии
Дмитрий
5 ноября 2019 13:58

Очень полезная инфа, спасибо большое. Отличная инструкция к программе WhiteTown Converters Pack, видно что старались когда делали.

Аноним
29 июля 2020 15:48

В MS Office13 нет пункта экспорта в DBF

Аноним
4 ноября 2021 12:23

Спасибо огромное. Второй вариант самый отличный!!!! Во-первых бесплатно, во-вторых прост и эффективный.

Задать вопрос