Visionneuse DBF pour Ubuntu

9

J'ai besoin d'ouvrir des fichiers dbf sur mon Ubuntu 15 et comme je l'ai trouvé, LibreOffice peut le faire. Mais je reçois

Erreur générale. Erreur générale d'entrée / sortie.

Existe-t-il un outil ou un outil logiciel intégré qui peut m'aider?

Daria
la source
Nous ne nous soucions pas s'il s'ouvre sur Windows.
Rinzwind
1
@Rinzwind Oui, et cela me fera répondre à des questions telles que "Avez-vous essayé de l'ouvrir dans un autre système / logiciel?"
Daria
Même si c'est une question valable, ce sera uniquement Ubuntu . Et nous ne nous attendons pas à ce qu'un utilisateur ait Windows installé ;-)
Rinzwind
4
@Rinzwind Cela montre en fait que le fichier est (probablement) valide.
Cthulhu

Réponses:

13

Selon le Wiki LibreOffice, vous devriez pouvoir ouvrir des .dbffichiers avec LibreOffice Base.

Si vous rencontrez toujours ce problème, réinstallez LibreOffice:

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

Vous pouvez également utiliser dbviewpour ouvrir des .dbffichiers (ce qui peut être plus difficile à utiliser que LibreOffice Base):

sudo apt-get install dbview

Reportez-vous à la page de manuel pour plus d'informations sur dbview.

hg8
la source
2
Génial! Je suppose que je n'ai pas eu LibreOffice Base et que la réinstallation l'apporte) .Dbview est également une bonne console (comme je l'ai bien compris) qui peut faire un aperçu du fichier dbf facilement. Je vous remercie.
Daria
3
Comme LibreOffice Base n'est pas installé par défaut dans Ubuntu, vous pouvez commencer par vérifier qu'il l'est réellement.
leo
3

Pour une édition très simple de petits fichiers .dbf, vous pouvez également utiliser GTK DBF Editor

Pour l'installer dans Ubuntu 12.04, j'ai d'abord dû installer cette dépendance:

sudo apt-get install libglade2-0:i386

Ensuite, je pourrais installer le fichier .deb téléchargé avec

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

Mise à jour:

Dans Ubuntu 16.04, avec l'installation par défaut de LibreOffice, je devais aussi

sudo apt install libreoffice-base

Ensuite, les fichiers .dbf peuvent être ouverts dans LibreOffice Calc, et également enregistrés sous .dbf.

mivk
la source
2

J'ai trouvé que la meilleure façon de gérer les fichiers .dbf est d'utiliser PHP pour les convertir en fichiers .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 );
}

?>

Utilisez ensuite MySQL pour importer le CSV:

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