Переглядач DBF для Ubuntu


9

Мені потрібно відкрити файли dbf на моєму Ubuntu 15, і як я виявив, LibreOffice може це зробити. Але я отримую

Загальна помилка. Загальна помилка введення / виводу.

Чи є будь-який інструмент або вбудований якийсь програмний інструмент, який може мені допомогти?


Нам не байдуже, чи відкриється вона в Windows.
Rinzwind

1
@Rinzwind Так, і це змусить мене відповісти на такі запитання, як "Ви намагалися відкрити його в якійсь іншій системі / програмному забезпеченні?"
Дарія

Навіть якщо це правильне питання, це буде лише Ubuntu . І ми не очікуємо, що у користувача буде встановлено Windows ;-)
Rinzwind

4
@Rinzwind Це фактично показує, що файл є (ймовірно) дійсним.
Cthulhu

Відповіді:


13

Згідно з LibreOffice Wiki, ви повинні мати можливість відкривати .dbfфайли за допомогою LibreOffice Base.

Якщо ви все-таки зіткнулися з цією проблемою, перевстановіть LibreOffice:

sudo apt-get remove --purge libreoffice*
sudo apt-get clean
sudo apt-get autoremove
sudo apt-get install libreoffice

Ви також можете використовувати dbviewдля відкриття .dbfфайлів (які можуть бути складнішими, ніж LibreOffice Base):

sudo apt-get install dbview

Зверніться до сторінок керівництва для отримання додаткової інформації про dbview.


2
Чудово! Я думаю, у мене не було LibreOffice Base та перевстановлення принести це). Також dbview - це хороша консоль (як я зрозумів це правильно) додаток, яке може легко зробити попередній файл dbf. Дякую.
Дарія

3
Оскільки LibreOffice Base не встановлено за замовчуванням в Ubuntu, ви можете почати, перевіривши, що це насправді.
лео

3

Для дуже простого редагування невеликих .dbf-файлів ви також можете скористатися редактором GTK DBF

Щоб встановити його в Ubuntu 12.04, спочатку мені потрібно було встановити цю залежність:

sudo apt-get install libglade2-0:i386

Тоді я міг би встановити завантажений .deb файл із

sudo dpkg -i Downloads/gtkdbfeditor_1.0.4-7_i386.deb

Оновлення:

В Ubuntu 16.04, з установкою LibreOffice за замовчуванням, мені довелося також

sudo apt install libreoffice-base

Потім файли .dbf можна відкрити в LibreOffice Calc, а також зберегти як .dbf.


2

Я знайшов найкращий спосіб боротися з .dbf файлами - використовувати PHP для перетворення їх у .csv файли:

<?php

set_time_limit( 24192000 );
ini_set( 'memory_limit', '-1' );

$files = glob( '/media/d/Data2/files/*.DBF' );
foreach( $files as $file )
{
    echo "Processing: $file\n";
    $fileParts = explode( '/', $file );
    $endPart = $fileParts[key( array_slice( $fileParts, -1, 1, true ) )];
    $csvFile = preg_replace( '~\.[a-z]+$~i', '.csv', $endPart );

    if( !$dbf = dbase_open( $file, 0 ) ) die( "Could not connect to: $file" );
    $num_rec = dbase_numrecords( $dbf );
    $num_fields = dbase_numfields( $dbf );

    $fields = array();
    $out = '';

    for( $i = 1; $i <= $num_rec; $i++ )
    {
        $row = @dbase_get_record_with_names( $dbf, $i );
        $firstKey = key( array_slice( $row, 0, 1, true ) );
        foreach( $row as $key => $val )
        {
            if( $key == 'deleted' ) continue;
            if( $firstKey != $key ) $out .= ';';
            $out .= trim( $val );
        }
        $out .= "\n";
    }

    file_put_contents( $csvFile, $out );
}

?>

Потім використовуйте MySQL для імпорту CSV:

LOAD DATA INFILE "/media/d/Data2/files/ZACATECAS.csv" INTO TABLE tbl FIELDS TERMINATED BY ";" ENCLOSED BY '"' LINES TERMINATED BY "\n";
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.