Visualizador de DBF para Ubuntu

9

Preciso abrir arquivos dbf no meu Ubuntu 15 e, como eu descobri, o LibreOffice pode fazer isso. Mas estou ficando

Erro geral. Erro geral de entrada / saída.

Existe QUALQUER ferramenta ou alguma ferramenta de software embutida que possa me ajudar?

Daria
fonte
Não nos importamos se ele for aberto no Windows.
Rinzwind
11
@Rinzwind Sim, e isso me fará responder a perguntas como "Você tentou abri-lo em algum outro sistema / software?"
Daria
Mesmo que essa seja uma pergunta válida, será apenas o Ubuntu . E nós não esperamos que um usuário tenha o Windows instalado ;-)
Rinzwind
4
@Rinzwind Na verdade, mostra que o arquivo é (provavelmente) válido.
Cthulhu #

Respostas:

13

De acordo com o LibreOffice Wiki, você deve poder abrir .dbfarquivos com o LibreOffice Base.

Se você ainda encontrar esse problema, reinstale o LibreOffice:

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

Você também pode usar dbviewpara abrir .dbfarquivos (que podem ser mais difíceis de usar que o LibreOffice Base):

sudo apt-get install dbview

Consulte a página de manual para obter mais informações sobre dbview.

hg8
fonte
2
Ótimo! Eu acho que não tinha o LibreOffice Base e a reinstalação o trazia) Também o dbview é um bom aplicativo de console (como eu entendi direito) que pode facilitar a visualização do arquivo dbf. Obrigado.
Daria
3
Como o LibreOffice Base não é instalado por padrão no Ubuntu, você pode querer começar verificando se realmente é.
Leo
3

Para edição muito simples de arquivos .dbf pequenos, você também pode usar o GTK DBF Editor

Para instalá-lo no Ubuntu 12.04, primeiro precisei instalar esta dependência:

sudo apt-get install libglade2-0:i386

Então eu poderia instalar o arquivo .deb baixado com

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

Atualizar:

No Ubuntu 16.04, com a instalação padrão do LibreOffice, eu também precisava

sudo apt install libreoffice-base

Em seguida, os arquivos .dbf podem ser abertos no LibreOffice Calc e também salvos como .dbf.

mivk
fonte
2

Eu descobri que a melhor maneira de lidar com arquivos .dbf é usar o PHP para convertê-los em arquivos .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 );
}

?>

Em seguida, use o MySQL para importar o CSV:

LOAD DATA INFILE "/media/d/Data2/files/ZACATECAS.csv" INTO TABLE tbl FIELDS TERMINATED BY ";" ENCLOSED BY '"' LINES TERMINATED BY "\n";
Kohjah Breese
fonte