Visor DBF para Ubuntu


9

Necesito abrir archivos dbf en mi Ubuntu 15 y, como descubrí, LibreOffice puede hacerlo. Pero me estoy poniendo

Error general. Error general de entrada / salida.

¿Hay alguna herramienta o alguna herramienta de software incorporada que pueda ayudarme?


No nos importa si se abre en Windows.
Rinzwind

1
@Rinzwind Sí, y eso me hará responder preguntas como "¿Intentaste abrirlo en algún otro sistema / software?"
Daria

Incluso si esa es una pregunta válida, será solo Ubuntu . Y no esperamos que un usuario tenga Windows instalado ;-)
Rinzwind

44
@Rinzwind En realidad, muestra que el archivo es (probablemente) válido.
Cthulhu

Respuestas:


13

De acuerdo con LibreOffice Wiki , debería poder abrir .dbfarchivos con LibreOffice Base.

Si aún encuentra este problema, reinstale LibreOffice:

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

También puede usar dbviewpara abrir .dbfarchivos (que pueden ser más difíciles de usar que LibreOffice Base):

sudo apt-get install dbview

Consulte la página de manual para obtener más información sobre dbview.


2
¡Excelente! Supongo que no tenía LibreOffice Base y la reinstalación lo trajo) También dbview es una buena aplicación de consola (como lo hice bien) que puede hacer una vista previa del archivo dbf fácilmente. Gracias.
Daria

3
Como LibreOffice Base no está instalado de manera predeterminada en Ubuntu, es posible que desee comenzar verificando que realmente lo esté.
leo

3

Para la edición muy simple de pequeños archivos .dbf, también puede usar GTK DBF Editor

Para instalarlo en Ubuntu 12.04, primero necesitaba instalar esta dependencia:

sudo apt-get install libglade2-0:i386

Entonces podría instalar el archivo .deb descargado con

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

Actualizar:

En Ubuntu 16.04, con la instalación predeterminada de LibreOffice, también tuve que

sudo apt install libreoffice-base

Luego, los archivos .dbf se pueden abrir en LibreOffice Calc, y también se pueden guardar como .dbf.


2

He encontrado que la mejor manera de tratar con archivos .dbf es usar PHP para convertirlos en archivos .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 );
}

?>

Luego use MySQL para importar el CSV:

LOAD DATA INFILE "/media/d/Data2/files/ZACATECAS.csv" INTO TABLE tbl FIELDS TERMINATED BY ";" ENCLOSED BY '"' LINES TERMINATED BY "\n";
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.