Bfsoft.ru

Программы, сервисы, полезные советы о компьютере и интернете
3 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Как DBF-файл открыть в Excel или Excel преобразовать в DBF

Бесплатный конвертер XLS в DBF и DBF в XLS

Конвертер XLS а также XLSX в DBF и DBF в XLSX представляет собой макрос EXCEL, которым можно использовать не только для конвертирования, но и для поиска, заполнения из файла другой структуры по ключевым полям записей и их модификация. Например, если требуется заполнить файл EXCEL, в котором присутствует какое либо ключевое поле (номер счета или код товара) из базы DBF с таким же ключевым полем.

Или же обратная ситуация — есть EXCEL файл, надо модифицировать или заполнить DBF файл. Конечно потребуется коррекция VBA кода макроса, но сочинять и отлаживать «с нуля» не придется.

Идея выложить подобный макрос появилась, когда самому потребовался подобный конвертор, а поиски в интернете указывали только на платные конвертеры, к тому же без возможности что либо изменить под себя. За основу была взята оригинальная надстройка XlsToDBF, автор Василий Малинин, которая распространялась в интернете бесплатно, но найти и скачать ее оказалось не просто. Больше попадались либо платные утилиты, либо он-лайн конверторы. Ни то ни другое не подходило.

Тем более с выходом версии MS Office 2007 в программе Excel по кнопке <Save As. > (<Сохранить как. >) в списке возможных вариантов формат dBASE (*.DBF) уже нет. В последующих подавно.

Краткое описание файла конвертора с макросом XLSX_DBF

В скачанном архиве XLSX_DBF.zip (в конце статьи) присутствуют файлы:

Конвертор.xlsm — собственно сам EXCEL файл с макросами.

xls to dbf 1

Файлы для примера конвертации и заполнения

in_file.DBF

LK_in1.xlsx

RK_in2.xlsx

out1.xlsx

out2.xlsx

Еще два файла появятся после нажатия кнопки » Заполнить L,R DBF»

SUB_K.DBF

SUB_L.DBF

Все действия по кнопкам легко подкорректировать в VBA из меню макросов

По умолчанию в файле прописаны пути «D:File». Для удобства разархивируйте архив на диск D в корень и у Вас сохранится начальная настройка каталогов.

xls to dbf 2

Естественно какие то начальные знания VBA должны присутствовать. Подробных инструкций нет, но все и так максимально просто. Если Вы хоть раз работали с макросами, то подправить по себя наверняка сумеете.

xls to dbf 3

Для выполнения макроса необходимо в EXCEL включить разрешение на открытие и запуск макросов. В этих макросах ВИРУСОВ НЕТ. Для включения надо в меню «ФАЙЛ» выбрать «Сведения» -> «Параметры»

xls to dbf 5

Далее выбрать «Центр управления безопасностью» -> «Параметры центра управления безопасностью» -> «Параметры макросов» -> «Включить все макросы»

xls to dbf 4

Для запуска конвертора открываутся файл Конвертор.xlsm. Слева кнопки выбора файлов, справа кнопки запуска. Для примера представлены файлы EXCEL (Субсидии и льготы — Out1 и Out2), которые обновляются из IN_FILE.DBF, по ключевому полю LSCHET. В сроки файлов XLSX, где будет найден «Номер лицевого счета» будет заполнено значением из поля «DOLG» файла IN_FILE.DBF.

Вторая часть Конвертор.xlsm демонстрирует создание и заполнение файлов SUB_K.DBF и SUB_L.DBF из LK_in1.xlsx и RK_in2.xlsx согласно заданной структуры. За основу создания взята надстройка XlsToDBF, преобразованная в макрос с исправлением некоторых ошибок.

Макрос (надстройка) XlsToDBF и его описание

    • задать произвольное имя выходного DBF-файла
    • задать тип и размер для каждого поля по усмотрению пользователя
    • задать кодовую страницу (WINDOWS-1251 или DOS-866) для выходного DBF-файла
    • задать параметр MAC для корректного вывода DBF-файла на Macintosh

    Чтобы надстройка поняла, что от неё требуется и создала требуемый DBF-файл, необходимо задать тип, размер, имена полей для конечного DBF-файла, а также его название.

    Надстройка умеет работать с четырьмя основными форматами полей DBF: Character (Cnnn), Numeric (Nnn или Nnn.n), Date (D) и Logical (L), т.е такие поля как General, Memo, Currency и т.д. в конечном файле она создать не сумеет. Собственно, родной конвертер предыдущих версий Excel имел такое же ограничение.

    Для примера используется файл Price.xls из архива, Лист: Price. Существует таблица EXCEL, которую необходимо сохранить в DBF-файле.

    xls to dbf 6

    В конечном DBF-файле назначаем необходимые имена полей и форматы, чтобы:

    • Поле Идентификатор имело целочисленный тип (т.е Numeric) шириной в 14 знаков и называлось ID.
    • Поле Наименование — строковый тип (Character) шириной в 100 символов с названием NAME
    • Поле Единица измерения — строковый, 20 символов, с названием ONE_NAME
    • Поле Цена — числовой тип (Numeric) шириной в 14 знаков с двумя знаками за запятой с названием PRICE
    • Поле Включать в прайс — логический тип (Logical) с названием L_PRICE
    • Поле Дата обновления имело тип даты (Date) с названием D_UPDATE

    Также мы хотим конечный DBF-файл сохранить с названием PRICE.DBF в кодовой странице (Code Page) DOS-866.

    Для того, чтобы получить ожидаемый результат, нужно изменить заголовок таблицы следующим образом (файл Price.xls из архива, Лист: Price_pre).

    xls to dbf 7

    Первая ячейка первой строки, экспортируемой области, содержит имя конечного файла. Расширение в имени файла на процесс конвертации не влияет, т.е. конечный файл в любом случае будет иметь структуру DBF (dBASE).

    Вторая ячейка (B1) указывает макросу надстройки в какой кодовой странице сохранять DBF-файл. Если значение ячейки (B1) отличается от CP866 или не задано совсем, то конечный DBF-файл сохранится в кодовой странице WINDOWS CP1251.

    Вторая строка описывает форматы полей, которые мы хотим получить в конечном файле. Здесь хочу отметить, т.к. многие путаются, что числовой формат с дробной десятичной частью, например N14.2 трактуется следующим образом: ширина поля 14 знаков, включая десятичную точку и 2 знака за ней. Т.е. 11 целых знаков, десятичная точка и 2 знака за ней, а не 14 целых знаков и 2 за точкой.

    Третья строка описывает наименование полей (максимально 10 символов). Я думаю, больше комментировать здесь нечего.

    Начиная с четвёртой строки и до конца непрерывной области, располагаются данные. Желательно, чтобы данные соответствовали заданному типу. Красным цветом я отметил те поля, в которых значения не могут быть корректно преобразованы. В таких случаях надстройка задаёт им значения по умолчанию. Например, значение ДА не может быть преобразовано к логическому типу. Поэтому в конечном DBF-файле это поле будет иметь значение FALSE (F). В данном примере то же самое произойдёт и с датами, отмеченными красным цветом (в DBF-файле они будут пустые).

    В макросе файла Конвертор.xlsm эти операции прописаны в VBA коде, макрос — «Вывод_в_dbf()»

    Sub Вывод_в_dbf()
    Dim i As Integer
    Dim strMes As String
    Dim strMes1 As String
    Dim strMes2 As String
    Dim WBook As String
    Dim WMak As String
    Dim Wind1 As String
    strMes = «»
    Range(«D13:D200»).Value = «»
    Range(«D13»).Value = «Обработка 1»
    f_lgot = Range(«D8»).Value
    f_sub = Range(«D9»).Value
    f_dbf_l = Range(«D10»).Value
    f_dbf_r = Range(«D11»).Value

    WBook = ThisWorkbook.Name
    strMes2 = Range(«D10»).Value
    If is_file(f_lgot) = 1 Then
    Range(«D13»).Value = «Обработка 1»
    Workbooks.Open (f_lgot)
    Range(«A1»).Value = strMes2
    i = rep_file()
    Application.Run «‘Конвертор.xlsm’!XlsToDBF»
    ActiveWindow.Close SaveChanges:=False
    Windows(WBook).Activate

    strMes = strMes + «DBF Файл льгот » & Range(«D10″).Value & » заполнен» & Chr(13) + Chr(10)
    Else
    strMes = strMes + «. DBF Файл льгот НЕ заполнен!» & Chr(13) + Chr(10)
    End If

    Запуск макроса надстройки XlsToDBF

    После того, как мы подготовили данные для выгрузки, можно запустить макрос надстройки. Для этого нужно выделить любую ячейку в области данных или заголовка и нажать <Alt+F8>. В диалоговом окне «Макрос» в поле «Имя макроса:» нужно ВРУЧНУЮ ввести XlsToDBF (регистр не имеет значения) и нажать кнопку <Выполнить>. Если на предыдущем этапе всё сделано верно, то DBF-файл будет сохранен с именем PRICE.DBF в той же папке, где расположена исходная книга Excel. В случае если книга новая и не сохранена, то DBF-файл будет сохранён в папке по умолчанию (скорее всего в папке «Мои документы»). Будьте внимательны: при повторном запуске макроса DBF-файл будет переписан без каких-либо предупреждений.

    Если работа надстройки устраивает, и Вы предполагаете часто её использовать, то для удобства создайте пользовательскую кнопку на ленте и назначьте ей макрос XlsToDBF.

    Открытие и преобразование DBF-файла в EXCEL

    DBF — файл баз данных, возможность работы с которым раньше интегрировалась в среду Microsoft Office. С форматом работали приложения Access и Excel, позже Access был выведен из состава пакета и стал отдельной программой, а в Excel с 2007 года поддержка DataBaseFile была существенно ограничена.

    Открытие DBF-файла

    При невозможности открыть DBF-файл напрямую в Excel его нужно предварительно конвертировать.

    Однако DBF хоть и считается многими устаревшим форматом, но до сих пор широко используется в специализированных программах в сфере бизнеса, проектирования, инженерной сфере. Везде, где требуется работа с большими массивами информации, их структурирование и обработка, выполнение запросов. Например, программный комплекс 1С Предприятие целиком основан на управлении базами данных. А учитывая, что масса офисной документации и данных проходит в Excel, то вопрос интегрированной работы с этими форматами актуален и востребован.

    Проблемы Excel при работе с DBF

    В Excel 2003 была возможность открыть и редактировать DBF, а также сохранять в этом формате документы XLS:

    1. На панели меню выбрать «Файл».
    2. Далее, нажать «Сохранить как».
    3. Выбрать из выпадающего списка «*.dbf».

    Однако существуют специальные надстройки для приложения, добавляющие ему такую функцию. В сети на различных форумах программисты выкладывают свои разработки, можно найти разные варианты. Наиболее популярную надстройку, которая называется XslToDBF, можно скачать с сайта разработчика http://basile-m.narod.ru/xlstodbf/download.html. Загрузка бесплатная, но по желанию можно поддержать проект, перечислив любую сумму на кошелёк или карту.

    Установка и использование:

    1. Скачайте архив с указанного выше сайта. XlsToDBF.xla и сохраните на своём компьютере. Извлечение
    2. В Excel зайдите в меню кнопкой со значком Майкрософт слева, «Параметры». «Параметры»
    3. В разделе «Параметры Excel» выберите «Надстройки».
    4. В строке «Управление/Надстройки Excel» нажмите «Перейти». «Надстройки»
    5. Нажмите «Обзор» и укажите сохранённый XlsToDBF.xla. Указать путьОткрыть XlsToDBF
    6. В списке надстроек должна появиться запись «XLS -> DBF» с поставленной галочкой проверки. Отметьте, если её нет. Запись «XLS -> DBF»
    7. Теперь вы можете сохранять .xls в формат .dbf. С того же сайта можно скачать подробную инструкцию по использованию. Главное, правильно подготовить табличные данные.
    8. После того как таблица готова, выберите любую заполненную ячейку и нажмите Alt и F
    9. В открывшемся окне макроса в поле наберите XlsToDBF, регистр не важен. Окно макросов
    10. Нажмите «Выполнить».
    11. Если вы правильно подготовили и оформили данные, то в папке, где находится исходный XLS, будет сохранён и файл базы данных.

    Если вы не хотите ничего менять в Office, не доверяете надстройкам и сторонним приложениям, то можно предложить более трудоёмкий способ преобразовать файл XLS в DBF:

    1. Приобретите и установите программу Microsoft Access.
    2. В Excel подготовьте и сохраните документ. Сохранение документа
    3. Нажмите кнопку «Открыть» в MS Access и выберите файл. «Открыть» в MS Access
    4. Теперь нужно корректно настроить импорт. Импорт
    5. Выберите лист, с которого начнёте. Если их несколько, всё равно придётся делать по одному. Выбор листа
    6. Если в таблице есть строка заголовков, поставьте соответствующую галочку. Заголовки
    7. Далее, можно изменить имя таблицы. Имя таблицы
    8. Теперь нажмите на «Внешние данные». «Внешние данные»
    9. Жмите кнопку «Экспорт», «Дополнительно». «Экспорт»
    10. Выберите «Файл dBase». «Файл dBase»
    11. Укажите имя и место сохранения.

    Такой способ не всегда работает удачно, часто возникают ошибки в обработке данных, в последующем сохранении. И он весьма долгий и неудобный.

    Конвертация

    Чтобы не мучиться самим с офисными программами, создано множество приложений, позволяющих перевести данные из одного формата в другой. Во-первых, почти все мощные программы по работе с СУБД предполагают возможность экспорта в XLS и загрузки из него. Во-вторых, есть небольшие утилиты, специализирующиеся на конвертации. Вот некоторые из них:

    1. DBFView — простая программа работы с базами данных, позволяющая редактировать, просмотреть DataBaseFile, открыть его в XLS и импортировать из него без каких-либо дополнительных действий. Поддерживает форматы dbf dBase, Clipper, FoxPro, Visual FoxPro и многие другие.
    2. DBF Viewer Plus — приложение, не требующее установки, с хорошим функционалом. Позволяет создавать базы данных, экспортировать в разные форматы, в том числе в .xls. Включает возможности редактирования, добавления, переименования, сортировки записей, фильтр и поиск, печать и предпросмотр.
    3. WhiteTown Converters Pack — набор утилит по конвертации в различных направлениях, позволяет избежать ошибок и конфликтов при преобразовании из формата в формат. Запуск утилитыКонвертация
    4. DBF Commander — профессиональное программное обеспечение, конвертирование лишь небольшая часть его функциональных возможностей.

    Во всех этих программах преобразование сводится к тому, что нужно открыть исходный файл, а затем выполнить команду «Конвертировать» или «Экспорт».

    Существуют и бесплатные сервисы онлайн-преобразования. На таких сайтах предлагается прислать (загрузить) исходный файл, нажать «Конвертировать», после чего появится ссылка на преобразованный документ. Насколько можно доверять таким услугам, решение индивидуальное, на свой страх и риск.

    Таким образом, открыть DBF в программе Excel можно, но если его версия 2007 и новее, то сделать с ним больше ничего не получится, только посмотреть. Для редактирования, сохранения в XLS есть специальные надстройки или программы, так же как и для преобразования в обратном направлении. Если у вас есть опыт конвертации и работы с DBF в разных приложениях, поделитесь своими советами в комментариях.

    Простая работа с dbf и перевод в excel

    • openoffice.png
    • 1.jpg
    • 2.jpg

    Очень хочу поделиться простым способом редактирования dbf файлов.

    Во первых не нужно устанавливать сторонние программы непонятных авторов. Заморачиваться с программированием, когда нужно добавить в таблицу информацию, скажем из exсel.

    Берём хорошо знакомый и бесплатный OpenOffice. Открываем, требующий добавления информации или просто редактирования, файл dbf. Выбирая кодировку, скажем кирилица. Редактируем и сохраняем в формате dbf или excel,очень просто и не требует знаний программирования.

    Теперь несколько полезных функций для excel, которые упрощают работу с анализом информации и также позволяют избежать написания программ.

    аналог в OpenOffice

    Также все аналоги функций можно посмотреть на Wiki

    С ячейкой b1 на текущем листе сравнивается диапазон ячеек листа2 по столбцу А с 1 по 8728 ячейку. Далее, при нахождении, устанавливается значение из столбца C листа2 с тем же номером. Данным поиском можно сравнить например две таблицы.

    Ещё одна очень полезная функция:

    Тут проверяется,если значение в ячейке c1=0, то записываемых в результат значение из А1, иначе используем другой результат. В данном примере это соединение данных двух ячеек А1 и В1 с помощью функции "Сцепить".

    Чтобы избежать ошибок, вызванных наличием двух пробелов между элементами строки, можно сперва удалить лишние пробелы функцией СЖПРОБЕЛЫ.

    Например: СЖПРОБЕЛЫ ($B$2)

    Есть таблица в excel, где Фамилия Имя Отчество человека находятся в одной ячейке через пробел. Как разделить эти данные на три ячейки (столбца)

    Выделить ячейку или диапазон ячеек с ФИО.
    Данные -> Текст по столбцам. С разделителями -> Разделитель пробел -> Готово

    Можно разделить используя функции ПОИСК, ПСТР.
    Чтобы избежать ошибок, вызванных наличием двух пробелов между элементами строки, можно сперва удалить лишние пробелы функцией СЖПРОБЕЛЫ.
    Если принять, что исходные данные записаны в A1, то функция получения Ф может выглядеть вот так:
    =ПСТР (СЖПРОБЕЛЫ ($A$1); 1; ПОИСК (" "; СЖПРОБЕЛЫ ($A$1); 1))
    Чтобы получить И, придется использовать нечто подобное:
    =ПСТР (СЖПРОБЕЛЫ ($A$1); ПОИСК (" "; СЖПРОБЕЛЫ ($A$1); 1) + 1; ПОИСК (" "; СЖПРОБЕЛЫ ($A$1); ПОИСК (" "; СЖПРОБЕЛЫ ($A$1); ПОИСК (" "; СЖПРОБЕЛЫ ($A$1); 1)+1)) — ПОИСК (" "; СЖПРОБЕЛЫ ($A$1); 1))

    Функция ЛЕВСИМВ(A2;15) возвращает указанное число знаков с начала текстовой строки. В нашем случае это 15 первых символов ячейки А2.

    Чем открыть DBF

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

    Что такое DBF?

    Файл с расширением .DBF – это файл базы данных, который используется системой управления данными « dBASE ». Данные хранятся в указанном файле в виде массива с набором записей и полей.

    Поскольку в данном случае файловая структура довольно проста, данный формат начал использоваться ещё на ранних этапах, когда только начали появляться программные инструменты для работы с базами данных. ДБФ позиционировался как стандартный формат для структурирования накапливаемых системой данных.

    Не все файлы ДБФ одинаковы. С момента своего появления формат DBF успел претерпеть достаточное количество изменений. И хотя формат обеспечивает обратную совместимость с dBase III + , вам все равно будет необходимо убедиться, что имеющийся у вас софт корректно открывает и воспроизводит ваши файлы DBF.

    Инструмент « ArcInfo » от « Esri » также хранит данные в дбф-файлах, но в этом случае он носит название « файлоформовый атрибут ». Данные файлы задействуют формат dBASE для хранения необходимых им атрибутов фигур.

    Файлы программы « FoxPro Table » также используют DBF при работе с базами данных « Microsoft Visual FoxPro ».

    Чем открыть файлы с расширением DBF

    Основная программа, работающая с файлами .dbf – это «dBASE». Данный файловый формат поддерживается и в других базах данных и приложениях, работающих с базами данных. К примеру, это «Microsoft Access», «LibreOffice Calc», «OpenOffice Calc», «Microsoft Excel», «HiBase Group DBF Viewer» «Quattro Pro» (элемент «Corel WordPerfect Office»), «DBFView», «Astersoft DBF Manager», и ряд других. Указанные инструменты помогут легко запустить DBF файл.

    Также рекомендуется сохранять файлы базы данных « Microsoft Works » в рассматриваемом dBASE, если вы впоследствии захотите открыть их в Майкрософт Эксель.

    Для Мак и Линукс пригодится «GTK DBF Editor», а также «NeoOffice» (Мак), «multisoft FlagShip» (Линукс) и также известный многим « OpenOffice ».

    Среда разработки систем баз данных « Microsoft Visual FoxPro » (её поддержка ныне прекращена) также умеет запускать файлы ДБФ в формате файла базы данных или в виде таблицы FoxPro.

    Выполнение конвертации файлов DBF

    Большая часть описанных выше программ кроме того что могут открывать или редактировать файл ДБФ, могут также и конвертировать данный файл в другие форматы. Например, MS Excel может сохранить DBF в любом поддерживаемом данной программой формате, например, CSV, XLS, XLSX, PDF и других .

    Известная « HiBase Group » также имеет конвертер, преобразующая файл DBF в CSV, форматы Эксель, такие как XLS и XLSX, стандартный текст, HTML, XML, SQL, PRG, SDF, RTF, TSV и других.

    « DBF Converter » может экспортировать лишь пятьдесят записей в бесплатной trial-версии. Вы можете предпочесть платную версию, если вам понадобится экспортировать больше файлов.

    Инструмент « dbfUtilities » трансформирует файлы ДБФ в форматы XML, JSON, CSV и Excel. Он работает с помощью функционала «dbfExport», который входит в комплектацию «dbfUtilities».

    Также можно выполнить конвертацию ДБФ онлайн с помощью DBF Converter . Последний поддерживает экспорт файла в TXT, CSV и HTML.

    Заключение

    Выше мы рассмотрели, чем можно открыть файл с расширением DBF. Используйте перечисленные нами инструменты для удобного просмотра данного файла и получения доступа к необходимым вам данным. Наиболее же аутентичным является программный инструмент «dBASE». И именно его мы рекомендуем.

    голоса
    Рейтинг статьи
    Читайте так же:
    Как удалить китайский антивирус Kingsoft Antivirus
Ссылка на основную публикацию