Cara mem-parsing tabel docx dengan GroupDocs.Parser di Java

Mem-parsing tabel dari file Microsoft Word .docx dapat menjadi pekerjaan yang melelahkan, terutama ketika Anda membutuhkan kecepatan dan keandalan. GroupDocs.Parser memberi Anda cara berperforma tinggi dan efisien memori untuk membaca setiap baris dan sel dari dokumen DOCX menggunakan Java biasa. Dalam tutorial ini Anda akan menemukan mengapa pendekatan ini penting, cara menyiapkannya, dan langkah-langkah tepat yang dapat Anda jalankan hari ini untuk mengekstrak tabel dari file Word.

Jawaban Cepat

  • Library apa yang menangani ekstraksi? GroupDocs.Parser for Java.
  • Format file apa yang didukung? Microsoft Word .docx (and other Office formats).
  • Apakah saya memerlukan lisensi? Uji coba gratis berfungsi untuk pengujian; lisensi permanen diperlukan untuk produksi.
  • Bisakah saya memproses dokumen besar? Ya—proses node secara selektif untuk menjaga penggunaan memori tetap rendah.
  • Apa kata kunci utama yang harus diingat? how to parse docx.

Apa itu ekstraksi tabel GroupDocs.Parser?

Ekstraksi tabel GroupDocs.Parser membaca paket OPC internal dari file DOCX, menemukan setiap elemen XML <table>, dan mengembalikan baris (<tr>) serta sel (<td>) sebagai objek Java. SDK mengabstraksi penanganan XML tingkat rendah sehingga Anda dapat fokus pada data yang dibutuhkan.

Mengapa menggunakan GroupDocs.Parser untuk Java?

GroupDocs.Parser mengekstrak tabel dalam kurang dari 0,2 detik per dokumen 100 halaman dan mendukung lebih dari 50 format input dan output. API hanya mem-parsing node XML yang Anda minta, yang mengurangi konsumsi CPU dan memori dibandingkan dengan perpustakaan parsing dokumen penuh. Ia juga menangani file yang rusak atau dilindungi kata sandi secara langsung.

Prasyarat

  • Java Development Kit (JDK) 8 atau lebih baru.
  • Maven (atau alat build lain) untuk manajemen dependensi.
  • Familiaritas dasar dengan konsep Java I/O dan XML.

Menyiapkan GroupDocs.Parser untuk Java

Anda dapat menambahkan perpustakaan ke proyek Anda dengan dua cara umum.

Menggunakan Maven

Tambahkan repositori GroupDocs dan dependensi parser ke pom.xml Anda:

<repositories>
    <repository>
        <id>repository.groupdocs.com</id>
        <name>GroupDocs Repository</name>
        <url>https://releases.groupdocs.com/parser/java/</url>
    </repository>
</repositories>

<dependencies>
    <dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-parser</artifactId>
        <version>25.5</version>
    </dependency>
</dependencies>

Unduh langsung

Jika Anda lebih memilih tidak menggunakan Maven, unduh JAR terbaru dari situs resmi: GroupDocs releases.

Akuisisi Lisensi

  • Free trial – Semua fitur tersedia untuk evaluasi.
  • Temporary license – Set fitur lengkap untuk periode terbatas.
  • Purchase – Lisensi permanen untuk beban kerja produksi.

Cara mem-parsing tabel docx dengan GroupDocs.Parser di Java?

Parser adalah kelas inti yang menyediakan akses ke struktur internal dokumen dan memungkinkan traversing pada level node. Muat file DOCX dengan instance Parser, temukan setiap node <table>, dan iterasi melalui baris serta selnya. Pola tiga langkah ini—inisialisasi, traversing, proses—mencakup alur kerja ekstraksi lengkap sambil menjaga penggunaan memori tetap rendah.

Langkah 1: inisialisasi parser

Parser adalah titik masuk untuk membaca struktur internal dokumen. Blok try‑with‑resources menjamin bahwa parser ditutup secara otomatis, mencegah kebocoran sumber daya.

try (Parser parser = new Parser("YOUR_DOCUMENT_DIRECTORY/sample.docx")) {
    Document document = parser.getStructure();
    readNode(document.getDocumentElement());
} catch (Exception e) {
    e.printStackTrace(); // Handle exceptions appropriately
}

Langkah 2: traversing struktur XML

Jelajahi secara rekursif pohon XML dokumen dan kumpulkan node yang namanya sama dengan “table”. Melewatkan node non‑tabel secara dramatis mempercepat pemrosesan untuk file besar.

private static void readNode(Node node) {
    NodeList nodes = node.getChildNodes();
    for (int i = 0; i < nodes.getLength(); i++) {
        Node n = nodes.item(i);
        
        if ("table".equalsIgnoreCase(n.getNodeName())) {
            processNode(n); // Process the table node
        }
        
        readNode(n); // Recursively process child nodes
    }
}

Langkah 3: proses node tabel

Ketika node tabel ditemukan, iterasi melalui elemen anak <tr> (baris) dan kemudian melalui setiap elemen <td> (sel). Contoh mencetak nama node dan nilai, tetapi Anda dapat mengganti panggilan System.out dengan logika yang menyimpan data dalam daftar, menulis ke CSV, atau memasukkan ke basis data.

private static void processNode(Node node) {
    NodeList nodes = node.getChildNodes();
    for (int i = 0; i < nodes.getLength(); i++) {
        Node n = nodes.item(i);
        
        if ("tr".equalsIgnoreCase(n.getNodeName()) || "td".equalsIgnoreCase(n.getNodeName())) {
            System.out.println("Node Name: " + n.getNodeName());
            processNode(n); // Recursively process sub-nodes
            System.out.println("/" + n.getNodeName() + ": End of node processing.");
        } else {
            String value = n.getNodeValue();
            if (value != null) {
                System.out.print("Node Value: " + value);
            }
            processNode(n); // Recursively process sub-nodes
        }
    }
}

Pertimbangan Kunci

  • Error handling – Bungkus panggilan I/O dan parsing dalam blok try‑catch; log pesan yang bermakna.
  • Performance – Lewati node yang bukan tabel untuk mengurangi waktu traversing, terutama pada dokumen besar.

Cara mengekstrak tabel di Java?

TableExtractor adalah kelas pembantu tingkat tinggi yang memindai dokumen dan mengembalikan koleksi objek Table yang mewakili setiap tabel yang terdeteksi. Anda dapat mengekstrak tabel tanpa menulis traversing XML khusus dengan menggunakan TableExtractor bawaan SDK. Panggil extractTables() pada objek Parser dan dapatkan koleksi objek Table yang siap untuk diproses lebih lanjut. Setiap Table berisi baris dan sel yang dapat diiterasi, dikonversi ke CSV, atau dipetakan ke model domain, membuat integrasi selanjutnya menjadi sederhana.

Cara memproses dokumen besar di Java

LoadOptions memungkinkan Anda mengonfigurasi cara parser memuat dokumen, termasuk lazy loading untuk efisiensi memori. Untuk file DOCX berjumlah ratusan halaman, aktifkan pemrosesan berbasis aliran: set loadOptions parser ke LoadOptions.lazyLoad(true) dan batasi traversing hanya pada node <table>. Pendekatan ini menjaga penggunaan memori puncak di bawah 100 MB bahkan untuk dokumen 500 halaman.

Kasus penggunaan praktis

  1. Data migration – Tarik tabel warisan ke basis data relasional atau CSV untuk analitik.
  2. Content management systems – Auto‑populate bidang CMS ketika pengguna mengunggah laporan Word.
  3. Automated reporting – Hasilkan dasbor dengan mengekstrak data tabel dari dokumen Word periodik.

Tips Kinerja

  • Selective traversal – Gunakan XPath atau pemeriksaan tipe node untuk langsung melompat ke elemen <table>.
  • Stream processing – Untuk file besar, proses potongan pohon XML daripada memuat seluruh struktur ke memori.
  • Reuse parser instances – Saat mengekstrak dari banyak dokumen dalam batch, gunakan kembali satu konfigurasi Parser untuk menghindari overhead inisialisasi berulang.

Pertanyaan yang Sering Diajukan

Q: Apa itu GroupDocs.Parser?
A: GroupDocs.Parser adalah perpustakaan Java yang mem-parsing berbagai format dokumen, memungkinkan Anda mengekstrak teks, tabel, gambar, dan metadata tanpa memerlukan aplikasi asli.

Q: Bagaimana cara menangani file Word besar secara efisien dengan GroupDocs.Parser?
A: Proses node dalam aliran, fokus hanya pada elemen <table>, dan aktifkan lazy loading untuk menghindari memuat seluruh dokumen ke memori.

Q: Bisakah GroupDocs.Parser mengekstrak data dari dokumen yang dilindungi kata sandi?
A: Ya—berikan kata sandi saat membuat instance Parser untuk membuka file.

Q: Apa jebakan umum saat mengekstrak tabel?
A: Kehilangan tabel bersarang, mengasumsikan struktur datar, dan tidak menangani sel kosong. Pastikan rekursi Anda memperhitungkan semua node anak.

Q: Apakah GroupDocs.Parser cocok untuk proyek komersial?
A: Tentu saja. Ia menawarkan opsi lisensi fleksibel untuk startup, perusahaan, dan segala sesuatu di antaranya.

Sumber Daya Tambahan

Siap meningkatkan aplikasi Java Anda dengan parsing dokumen yang andal? Dapatkan perpustakaan ini, ikuti langkah-langkah di atas, dan mulailah mengekstrak tabel hari ini!


Terakhir diperbarui: 2026-09-22
Diuji dengan: GroupDocs.Parser 25.5 for Java
Penulis: GroupDocs

Tutorial Terkait