Trình xem DBF cho Ubuntu


9

Tôi cần mở các tệp dbf trên Ubuntu 15 của mình và như tôi thấy LibreOffice có thể làm điều này. Nhưng tôi đang nhận được

Lỗi chung. Lỗi đầu vào / đầu ra chung.

Có công cụ nào hoặc tích hợp một số công cụ phần mềm có thể giúp tôi không?


Chúng tôi không quan tâm nếu nó mở trên Windows.
Rinzwind

1
@Rinzwind Vâng, và điều đó sẽ khiến tôi trả lời những câu hỏi như "Bạn đã thử mở nó trong một số hệ thống / phần mềm khác chưa?"
Daria

Ngay cả khi đó là một câu hỏi hợp lệ, nó sẽ chỉ là Ubuntu . Và chúng tôi không mong đợi người dùng cài đặt Windows ;-)
Rinzwind

4
@Rinzwind Nó thực sự cho thấy rằng tập tin (có khả năng) hợp lệ.
Cthulhu

Câu trả lời:


13

Theo Wiki của LibreOffice, bạn sẽ có thể mở .dbfcác tệp với LibreOffice Base.

Nếu bạn vẫn gặp phải sự cố này, hãy cài đặt lại LibreOffice:

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

Bạn cũng có thể sử dụng dbviewđể mở .dbfcác tệp (có thể khó sử dụng hơn LibreOffice Base):

sudo apt-get install dbview

Tham khảo trang hướng dẫn để biết thêm thông tin về dbview.


2
Tuyệt quá! Tôi đoán rằng tôi không có LibreOffice Base và cài đặt lại mang nó) Ngoài ra dbview là một ứng dụng điều khiển tốt (như tôi hiểu đúng) có thể dễ dàng xem trước tệp dbf. Cảm ơn bạn.
Daria

3
Vì LibreOffice Base không được cài đặt theo mặc định trong Ubuntu, bạn có thể muốn bắt đầu bằng cách kiểm tra xem nó thực sự là gì.
leo

3

Để chỉnh sửa các tệp .dbf nhỏ rất đơn giản, bạn cũng có thể sử dụng GTK DBF Editor

Để cài đặt nó trong Ubuntu 12.04, trước tiên tôi cần cài đặt phần phụ thuộc này:

sudo apt-get install libglade2-0:i386

Sau đó tôi có thể cài đặt tệp .deb đã tải xuống bằng

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

Cập nhật:

Trong Ubuntu 16.04, với cài đặt mặc định của LibreOffice, tôi cũng phải

sudo apt install libreoffice-base

Sau đó, các tệp .dbf có thể được mở trong LibreScript Calc và cũng được lưu dưới dạng .dbf.


2

Tôi đã tìm ra cách tốt nhất để xử lý các tệp .dbf là sử dụng PHP để chuyển đổi chúng thành các tệp .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 );
}

?>

Sau đó sử dụng MySQL để nhập CSV:

LOAD DATA INFILE "/media/d/Data2/files/ZACATECAS.csv" INTO TABLE tbl FIELDS TERMINATED BY ";" ENCLOSED BY '"' LINES TERMINATED BY "\n";
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.