Все способы:
DBF – это популярный формат хранения и обмена данными между различными программами, а в первую очередь, между приложениями, которые обслуживают базы данных и электронные таблицы. Хотя он и стал устаревать, но продолжает оставаться востребованным в различных сферах. Например, с ним продолжают активно работать бухгалтерские программы, а контролирующие и государственные органы принимают значительную часть отчетов в данном формате.
Но, к сожалению, Эксель, начиная с версии Excel 2007, прекратил полноценную поддержку указанного формата. Теперь в этой программе можно только просмотреть содержимое DBF-файла, а сохранить данные с указанным расширением встроенными инструментами приложения уже не получится. К счастью, имеются другие возможности конвертации данных из программы Excel в нужный нам формат. Рассмотрим, каким образом это можно выполнить.
Сохранение данных в формате DBF
В Excel 2003 и в более ранних версиях этой программы можно было сохранить данные в формате DBF (dBase) стандартным путем. Для этого нужно было кликнуть по пункту «Файл» в горизонтальном меню приложения, а затем в открывшемся списке выбрать позицию «Сохранить как…». В запустившемся окошке сохранения из списка требовалось выбрать наименование нужного формата и нажать на кнопку «Сохранить».
Но, к сожалению, начиная с версии Excel 2007, разработчики Microsoft посчитали dBase устаревающим, а современные форматы Эксель слишком сложными для того, чтобы тратить время и средства на обеспечение полной совместимости. Поэтому в Excel осталась возможность читать DBF-файлы, но поддержка сохранения данных в этом формате встроенными программными инструментами была прекращена. Тем не менее, существуют некоторые способы конвертации данных сохраненных в Excel в DBF при помощи применения надстроек и другого программного обеспечения.
Способ 1: надстройка XlsToDBF
Конвертировать книгу Эксель в dBase непосредственно через интерфейс приложения можно с помощью установки сторонних надстроек. Одной из лучших и наиболее удобных из них является надстройка XlsToDBF. Рассмотрим алгоритм её применения.
- После того, как скачали архив XlsToDBF.7z с надстройкой, распаковываем из него объект под названием XlsToDBF.xla. Так как архив имеет расширение 7z, то распаковку можно проводить либо стандартной программой для этого расширения 7-Zip, либо с помощью любого другого архиватора, который поддерживает работу с ним.
- После этого запускаем программу Эксель и переходим во вкладку «Файл». Далее перемещаемся в раздел «Параметры» через меню в левой части окна.
- В открывшемся окошке параметров кликаем по пункту «Надстройки». Перемещаемся в правую часть окна. В самом его низу расположено поле «Управление». Переставляем в нем переключатель в позицию «Надстройки Excel» и щелкаем по кнопке «Перейти…».
- Открывается небольшое окошко управления надстройками. Жмем в нем на кнопку «Обзор…».
- Запускается окошко открытия объекта. Нам нужно перейти в ту директорию, где находится распакованный архив XlsToDBF. Заходим в папку под одноименным названием и выделяем объект с наименованием «XlsToDBF.xla». После этого жмем на кнопку «OK».
- Затем мы возвращаемся в окошко управления надстройками. Как видим, в списке появилось наименование «XLS -> DBF». Это и есть наша надстройка. Около неё должна стоять галочка. Если галочка отсутствует, то ставим её, а затем жмем на кнопку «OK».
- Итак, надстройка установлена. Теперь открываем документ Эксель, данные из которого нужно преобразовать в dBase, или же просто набираем их на листе, если документ ещё не создан.
- Теперь нам нужно будет произвести некоторые манипуляции с данными, чтобы подготовить их к конвертации. Прежде всего, добавляем две строки над шапкой таблицы. Они должны быть самыми первыми на листе и иметь наименования на вертикальной панели координат «1» и «2».
В самой верхней левой ячейке вписываем наименование, которое мы хотим присвоить создаваемому DBF-файлу. Оно состоит из двух частей: собственно названия и расширения. Допускается использование только латиницы. Пример такого наименования – «UCHASTOK.DBF».
- В первой ячейке справа от наименования нужно указать кодировку. Существует два варианта кодировки с применением данной надстройки: CP866 и CP1251. Если ячейка B2 пустая или в ней установлено любое значение отличное от «CP866», то по умолчанию будет применяться кодировка CP1251. Ставим ту кодировку, которую считаем нужной или оставляем поле пустым.
- Далее переходим к следующей строке. Дело в том, что в структуре dBase каждый столбец, именуемый полем, имеет свой тип данных. Существуют такие их обозначения:
- N (Numeric) – числовой;
- L (Logical) – логический;
- D (Date) – дата;
- C (Character) – строковый.
Кроме того, в строковом (Cnnn) и числовом типе (Nnn) после наименования в виде буквы следует указывать максимальное количество символов в поле. Если в числовом типе применяются десятичные знаки, то их количество тоже нужно указать после точки (Nnn.n).
Существуют и другие типы данных в формате dBase (Memo, General и т.д.), но данная надстройка с ними работать не умеет. Впрочем, с ними не умел работать и Excel 2003, когда ещё поддерживал конвертацию в DBF.
В нашем конкретном случае первое поле будет строковым шириной в 100 символов (C100), а остальные поля будут числовыми шириной в 10 символов (N10).
- В следующей строке расположены наименования полей. Но дело в том, что они тоже должны быть внесены на латинице, а не на кириллице, как у нас. Также в наименовании полей не допускаются пробелы. Переименовываем их согласно этим правилам.
- После этого подготовку данных можно считать оконченной. Выделяем на листе курсором с зажатой левой клавишей мыши весь диапазон таблицы. Затем переходим во вкладку «Разработчик». По умолчанию она отключена, поэтому перед дальнейшими манипуляциями нужно её активировать и включить работу макросов. Далее на ленте в блоке настроек «Код» кликаем по значку «Макросы».
Можно сделать и чуть проще, набрав комбинацию горячих клавиш Alt+F8.
- Запускается окошко макросов. В поле «Имя макроса» вводим наименование нашей надстройки «XlsToDBF» без кавычек. Регистр при этом не важен. Далее щелкаем по кнопке «Выполнить».
- Макрос в фоновом режиме выполняет обработку. После этого в той же папке, где расположен исходный Excel-файл, будет сформирован объект с расширением DBF с тем наименованием, которое было задано в ячейке A1.
Как видим, данный способ значительно сложнее предыдущего. Кроме того, он весьма ограничен по количеству используемых типов полей и создаваемых типов объектов с расширением DBF. Ещё одним недостатком является то, что директорию создания объекта dBase можно назначать только перед процедурой конвертирования, путем прямого перемещения в папку назначения исходного Excel-файла. Среди преимуществ данного способа можно отметить то, что в отличие от предыдущего варианта, он абсолютно бесплатен и практически все манипуляции производятся непосредственно через интерфейс Эксель.
Способ 2: программа Microsoft Access
Хотя у новых версий Excel и нет встроенного способа сохранение данных в формате DBF, но, тем не менее, вариант с применением приложения Microsoft Access более всего приблизился к тому, чтобы назвать его стандартным. Дело в том, что эта программа выпущена тем же производителем, что и Эксель, и также входит в пакет Microsoft Office. К тому же, это самый безопасный вариант, так как не нужно будет связываться с программным обеспечением сторонних производителей. Microsoft Access специально предназначен для работы с базами данных.
- После того, как все необходимые данные на листе в Эксель введены, для того, чтобы конвертировать их в формат DBF, нужно сначала произвести сохранение в одном из форматов Excel. Для этого кликаем по иконке в виде дискеты в левом верхнем углу окна программы.
- Открывается окно сохранения. Переходим в ту директорию, где желаем, чтобы файл был сохранен. Именно из этой папки его нужно будет потом открыть в Microsoft Access. Формат книги можно оставить по умолчанию xlsx, а можно поменять на xls. В данном случае это не критично, так как все равно мы сохраняем файл только для того, чтобы преобразовать его в DBF. После того, как все настройки выполнены, жмем на кнопку «Сохранить» и закрываем окно Excel.
- Запускаем программу Microsoft Access. Переходим во вкладку «Файл», если она открылась в другой вкладке. Жмем на пункт меню «Открыть», расположенный в левой части окна.
- Запускается окно открытия файла. Переходим в ту директорию, где мы сохранили файл в один из форматов Excel. Чтобы он отобразился в окне, переставляем переключатель формата файлов в положение «Книга Excel (*.xlsx)» или «Microsoft Excel (*.xls)», в зависимости от того, в каком из них книга была сохранена. После того, как наименование нужного нам файла отобразилось, выделяем его и жмем на кнопку «Открыть».
- Открывается окно «Связь с электронной таблицей». Оно позволяет максимально корректно переместить данные из файла Excel в Microsoft Access. Нам нужно выбрать лист Эксель, данные из которого мы собираемся импортировать. Дело в том, что даже если в файле Excel содержалась информация на нескольких листах, то импортировать её в Access можно только отдельно и, соответственно, потом преобразовать её в отдельные файлы DBF.
Также существует возможность импорта информации отдельных диапазонов на листах. Но в нашем случае это не нужно. Устанавливаем переключатель в позицию «Листы», а затем выбираем тот лист, откуда собираемся брать данные. Корректность отображения информации можно просмотреть в нижней части окна. Если все удовлетворяет, жмем на кнопку «Далее».
- В следующем окне, если ваша таблица содержит заголовки, нужно поставить галочку около пункта «Первая строка содержит заголовки столбцов». Затем жмем на кнопку «Далее».
- В новом окне связи с электронной таблицей можно при желании изменить имя связанного элемента. Затем жмем на кнопку «Готово».
- После этого откроется диалоговое окно, в котором будет сообщение о том, что связывание таблицы с файлом Excel завершено. Жмем на кнопку «OK».
- В левой части интерфейса программы появится наименование таблицы, которое мы присвоили ей в последнем окне. Дважды щелкаем по нему левой клавишей мыши.
- После этого таблица отобразится в окне. Перемещаемся во вкладку «Внешние данные».
- На ленте в блоке инструментов «Экспорт» кликаем по надписи «Дополнительно». В открывшемся списке выбираем пункт «Файл dBase».
- Открывается окно экспорта в формат DBF. В поле «Имя файла» можно указать место хранения файла и его наименование, если те, которые указаны по умолчанию, вам по какой-то причине не подходят.
В поле «Формат файла» выбираем один из трех типов формата DBF:
- dBASE III (по умолчанию);
- dBASE IV;
- dBASE 5.
Нужно учесть, что чем современнее формат (выше порядковый номер), то тем больше существует возможностей по обработке в нем данных. То есть, выше вероятность того, что в файле удастся сохранить все данные таблицы. Но в то же время ниже вероятность того, что программа, куда вы в будущем собираетесь импортировать файл DBF, будет совместима именно с этим типом.
После того, как все настройки выставлены, жмем на кнопку «OK».
- Если после этого появилось сообщение об ошибке, то попробуйте экспортировать данные, используя другой тип формата DBF. Если же все прошло нормально, то появится окно, в котором сообщается, что экспорт выполнен успешно. Жмем на кнопку «Закрыть».
Созданный файл в формате dBase будет находиться в той директории, которая была указана в окне экспорта. Далее с ним вы можете производить любые манипуляции, включая импорт его в другие программы.
Как видим, несмотря на то, что в современных версиях Excel отсутствует возможность сохранения файлов в формате DBF встроенными инструментами, тем не менее, данную процедуру можно осуществить с помощью применения других программ и надстроек. При этом следует отметить, что наиболее функциональный способ конвертирования – это использование набора утилит WhiteTown Converters Pack. Но, к сожалению, количество бесплатных преобразований в нем ограничено. Надстройка XlsToDBF позволяет выполнить конвертацию абсолютно бесплатно, но процедура намного сложнее. К тому же функционал данного варианта очень ограничен.
«Золотой серединой» является способ с использованием программы Access. Как и Excel – это разработка компании Microsoft, а поэтому сторонним приложением его уже не назовешь. К тому же данный вариант позволяет конвертировать файл Excel в несколько типов формата dBase. Хотя по этому показателю Access все-таки уступает программе WhiteTown.
Очень полезная инфа, спасибо большое. Отличная инструкция к программе WhiteTown Converters Pack, видно что старались когда делали.
В MS Office13 нет пункта экспорта в DBF
Спасибо огромное. Второй вариант самый отличный!!!! Во-первых бесплатно, во-вторых прост и эффективный.