Как прочитать db3/dbf/dbase из C#

Одна из особенностей работы в корпоративной среде - необходимость работы с древними как шерстистые носороги форматами. На самом деле для промышленных систем не особо нужен даже графический интерфейс, не говоря уже о более новых технологиях - на некоторых предприятиях до сих пор отлично работаю текстовые программы под DOS. Но это все лирика, а сегодняшняя заметка будет кратка до неприличия и посвящена формату dBase III , который тоже много где используется по сей день.

Гугление на тему чтения этого формата из .Net приложения дает какие-то невнятные результаты и провоцирует на изобретение чего-то хитрого, мудреного и очень красивого (даже на Stackoverflow нет одобренного ответа). Хотя на самом деле задача решается очень простым и тупым способом, который по непонятным причинам не приходит на ум в первую очередь - читать db3 файлы из C# можно с помощью Excel. Все проще некуда - открываем файл в Excel прямо из кода и читаем как обычнейшую таблицу. Можно использовать для этого описанный чуть раньше класс для работы с Excel, никаких премудростей не понадобится - несколько строчек кода и полная свобода действий.


Комментарии

Как прочитать db3/dbf/dbase из C# — Комментарии (3)

  1. Спасибо! За подсказку, очень много времени не потратил

    Для совсем ленивых код
    String sampleFile = "C:\\Путь\\имяФайл.dbf";
    Microsoft.Office.Interop.Excel.Application objWorkExcel = new Microsoft.Office.Interop.Excel.Application(); //Запускаем EXEL
    Microsoft.Office.Interop.Excel.Workbook ObjWorkBooks;
    ObjWorkBooks = objWorkExcel.Workbooks.Open(sampleFile,
    Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
    Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing); //Открываем существующую книгу
    objWorkExcel.Visible = true; //Показываем результат

    Предварительно в обозревателе решений в Ссылки добавляем ссылку
    Microsoft.Office.Interop.Excel

  2. К сожалению Excel поддерживает не более примерно 65000 строк, такой урезанный набор данных он и откроет. У меня есть база содержит почти 3.000.000 строк и размер более 1 Гб.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *


*

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>