Visualizzatore DBF per Ubuntu


9

Devo aprire i file dbf sul mio Ubuntu 15 e come ho scoperto LibreOffice può farlo. Ma sto arrivando

Errore generale. Errore generale di input / output.

Esiste QUALSIASI strumento o strumento software incorporato che mi può aiutare?


Non ci interessa se si apre su Windows.
Rinzwind,

1
@Rinzwind Sì, e questo mi farà rispondere a domande come "Hai provato ad aprirlo in qualche altro sistema / software?"
Daria,

Anche se questa è una domanda valida, sarà solo Ubuntu . E non ci aspettiamo che un utente abbia Windows installato ;-)
Rinzwind

4
@Rinzwind Mostra effettivamente che il file è (probabilmente) valido.
Cthulhu,

Risposte:


13

Secondo il Wiki di LibreOffice dovresti essere in grado di aprire i .dbffile con LibreOffice Base.

Se il problema persiste, reinstallare LibreOffice:

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

Puoi anche usare dbviewper aprire i .dbffile (che potrebbe essere più difficile da usare rispetto a LibreOffice Base):

sudo apt-get install dbview

Fare riferimento alla manpage per ulteriori informazioni su dbview.


2
Grande! Immagino di non avere LibreOffice Base e la reinstallazione lo portano) Inoltre dbview è una buona app console (come ho capito bene) che può rendere facilmente l'anteprima del file dbf. Grazie.
Daria,

3
Dato che LibreOffice Base non è installato di default in Ubuntu, potresti iniziare controllando che lo sia effettivamente.
leo,

3

Per la modifica molto semplice di piccoli file .dbf, puoi anche utilizzare GTK DBF Editor

Per installarlo in Ubuntu 12.04, ho prima bisogno di installare questa dipendenza:

sudo apt-get install libglade2-0:i386

Quindi ho potuto installare il file .deb scaricato con

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

Aggiornare:

In Ubuntu 16.04, con l'installazione predefinita di LibreOffice, ho dovuto farlo anch'io

sudo apt install libreoffice-base

Quindi, i file .dbf possono essere aperti in LibreOffice Calc e salvati anche come .dbf.


2

Ho trovato il modo migliore per gestire i file .dbf è usare PHP per convertirli in file .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 );
}

?>

Quindi utilizzare MySQL per importare il CSV:

LOAD DATA INFILE "/media/d/Data2/files/ZACATECAS.csv" INTO TABLE tbl FIELDS TERMINATED BY ";" ENCLOSED BY '"' LINES TERMINATED BY "\n";
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.