Просмотрщик DBF для Ubuntu


9

Мне нужно открыть файлы dbf на моем Ubuntu 15, и, как я обнаружил, LibreOffice может это сделать. Но я получаю

Общая ошибка. Общая ошибка ввода / вывода.

Есть ЛЮБОЙ инструмент или встроенный программный инструмент, который может мне помочь?


Нам все равно, если он открывается в Windows.
Rinzwind

1
@Rinzwind Да, и это заставит меня ответить на такие вопросы: «Вы пытались открыть его в какой-то другой системе / программном обеспечении?»
Дарья

Даже если это правильный вопрос, это будет только Ubuntu . И мы не ожидаем, что у пользователя будет установлена ​​Windows ;-)
Rinzwind

4
@Rinzwind Фактически это показывает, что файл (вероятно) действителен.
Ктулху

Ответы:


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 Editor.

Чтобы установить его в 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.