วิธีใช้ไลบรารีการแยกข้อมูล Excel ด้วย Java กับ GroupDocs.Parser

ในแอปพลิเคชันสมัยใหม่ที่ขับเคลื่อนด้วยข้อมูล, วิธีการแยกไฟล์ Excel อย่างมีประสิทธิภาพสามารถทำให้กระบวนการทำงานสำเร็จหรือล้มเหลวได้ ไม่ว่าคุณจะกำลังย้ายข้อมูลเก่า, สร้างรายงานอัตโนมัติ, หรือป้อนข้อความดิบเข้าสู่สายการวิเคราะห์, การดึงข้อความที่ไม่ได้จัดรูปแบบจากแต่ละชีตเป็นความต้องการทั่วไป บทแนะนำนี้จะแสดงวิธีใช้ ไลบรารีการแยกข้อมูล Excel ด้วย Java — GroupDocs.Parser for Java — เพื่อเปิดเวิร์กบุ๊ก Excel, วนลูปผ่านชีตต่าง ๆ, และดึงเนื้อหาดิบด้วยเพียงไม่กี่บรรทัดของโค้ด

คำตอบสั้น

  • ไลบรารีใดที่จัดการการแยกข้อมูล Excel ใน Java? GroupDocs.Parser for Java.
  • ฉันสามารถดึงข้อความดิบจากแต่ละชีตได้หรือไม่? ใช่, โดยใช้ TextReader พร้อมเปิดโหมดดิบ.
  • ฉันต้องการไลเซนส์หรือไม่? มีไลเซนส์ฟรีชั่วคราวสำหรับการประเมิน.
  • ต้องการเวอร์ชัน Java ใด? JDK 8 หรือใหม่กว่า.
  • Maven รองรับหรือไม่? แน่นอน – เพิ่ม repository และ dependency ไปที่ pom.xml.

ไลบรารีการแยกข้อมูล Excel ด้วย Java คืออะไร?

GroupDocs.Parser for Java เป็น java excel parsing library ที่เปิดไฟล์ .xlsx, .xls, หรือ CSV อย่างโปรแกรมเมติกและอ่านข้อความธรรมดาโดยไม่ต้องโหลดสเปรดชีตทั้งหมดเข้าสู่หน่วยความจำ วิธีนี้เร็วกว่า API สเปรดชีตแบบดั้งเดิมและให้คุณเข้าถึงอักขระพื้นฐานโดยตรง

ทำไมต้องใช้ GroupDocs.Parser สำหรับ Java?

GroupDocs.Parser ประมวลผลหนึ่งชีตต่อครั้ง, ทำให้การใช้หน่วยความจำต่ำกว่า 10 MB แม้กับเวิร์กบุ๊ก 500‑หน้า รองรับรูปแบบอินพุตและเอาต์พุตมากกว่า 10 แบบรวมถึง XLSX, XLS, CSV, และ ODS — ทำให้ API เดียวสามารถจัดการหลายประเภทสเปรดชีตได้ วิธีการที่เรียบง่ายและไหลลื่นช่วยให้คุณเริ่มดึงข้อความได้ในไม่กี่นาที, และโมเดลไลเซนส์ขยายจากการทดลองเป็นการผลิตโดยไม่ต้องเปลี่ยนโค้ด

ข้อกำหนดเบื้องต้น

  • ชุดพัฒนา Java (JDK): 8 หรือใหม่กว่า.
  • IDE: IntelliJ IDEA, Eclipse หรือเครื่องมือแก้ไขที่รองรับ Java ใดก็ได้.
  • Maven (ไม่บังคับ): เพื่อการจัดการ dependency อย่างง่าย.

การตั้งค่า GroupDocs.Parser สำหรับ Java

การตั้งค่า Maven

หากคุณจัดการ dependency ด้วย Maven, เพิ่ม repository และ dependency ไปที่ pom.xml ของคุณ:

<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>

ดาวน์โหลดโดยตรง

หรือคุณสามารถดาวน์โหลดเวอร์ชันล่าสุดของ GroupDocs.Parser for Java ได้โดยตรงจาก GroupDocs releases.

การขอรับไลเซนส์

เพื่อเริ่มต้นด้วยการทดลองฟรี, เยี่ยมชม GroupDocs website เพื่อรับไลเซนส์ชั่วคราว. สิ่งนี้ช่วยให้คุณประเมินความสามารถเต็มรูปแบบของไลบรารีก่อนซื้อไลเซนส์สำหรับการผลิต

การเริ่มต้นและตั้งค่าเบื้องต้น

GroupDocs.Parser เป็นคลาสหลักที่แทนตัว parser ของเอกสาร หลังจากเพิ่มไลบรารีไปยัง classpath, คุณสามารถสร้างอินสแตนซ์ Parser ที่ชี้ไปยังเวิร์กบุ๊ก Excel ของคุณได้:

import com.groupdocs.parser.Parser;
import com.groupdocs.parser.data.TextReader;
import com.groupdocs.parser.options.IDocumentInfo;
import com.groupdocs.parser.options.TextOptions;

String excelFilePath = "YOUR_DOCUMENT_DIRECTORY/sample.xlsx";

try (Parser parser = new Parser(excelFilePath)) {
    // Your code to work with the document
} catch (Exception e) {
    e.printStackTrace();
}

เมื่อสภาพแวดล้อมพร้อม, เรามาเริ่มเข้าสู่ตรรกะการดึงข้อมูลจริงกัน

วิธีแยกข้อมูล Excel: ดึงข้อความดิบจากชีต

โหลดเวิร์กบุ๊กของคุณและดึงข้อความดิบในสองขั้นตอนง่าย ๆ ขั้นแรกให้รับข้อมูลพื้นฐานของเอกสารเช่นชื่อชีตและขนาด จากนั้นวนลูปผ่านแต่ละ worksheet ด้วย TextReader ที่กำหนดค่า TextOptions(true) เพื่อเปิดโหมดดิบ, ซึ่งจะคืนอักขระธรรมดาโดยไม่มีแท็กการจัดรูปแบบใด ๆ

TextReader reads text from a document, optionally in raw mode.

IDocumentInfo spreadsheetInfo = parser.getDocumentInfo();

ต่อไป, วนลูปผ่านทุกชีตและดึงข้อความที่ไม่ได้จัดรูปแบบ. ธง TextOptions(true) เปิดโหมดดิบ, คืนอักขระธรรมดาโดยไม่มีแท็กสไตล์ใด ๆ

TextOptions configures text extraction behavior, with a boolean flag to enable raw mode.

for (int p = 0; p < spreadsheetInfo.getRawPageCount(); p++) {
    try (TextReader reader = parser.getText(p, new TextOptions(true))) {
        String sheetContent = reader.readToEnd();
        
        // Process or use extracted text data here
    }
}

การประมวลผลข้อมูลที่ดึงมา

ในขณะนี้ sheetContent มีข้อความธรรมดาของ worksheet ปัจจุบัน คุณสามารถ:

  • บันทึกเป็นไฟล์ .txt เพื่อการเก็บรักษา.
  • ส่งต่อไปยัง pipeline การประมวลผลภาษาธรรมชาติ.
  • เก็บไว้ในฐานข้อมูลเพื่อการสืบค้นในภายหลัง.

ปัญหาที่พบบ่อยและวิธีแก้

ปัญหาสาเหตุวิธีแก้
ไฟล์ไม่พบเส้นทาง excelFilePath ไม่ถูกต้อง.ตรวจสอบเส้นทางและให้แน่ใจว่าไฟล์สามารถอ่านได้.
รูปแบบไม่รองรับใช้ไฟล์ XLS เก่ากับเวอร์ชัน parser ที่ใหม่กว่า.แปลงไฟล์เป็น XLSX หรืออัปเดตเป็นเวอร์ชันล่าสุดของ GroupDocs.Parser.
ข้อผิดพลาด Out‑of‑memory บนเวิร์กบุ๊กขนาดใหญ่โหลดทุกชีตพร้อมกัน.ประมวลผลหนึ่งชีตต่อครั้ง (ตามที่แสดง) และปล่อยทรัพยากรโดยเร็ว.
ข้อยกเว้นไลเซนส์หมดระยะทดลองหรือไม่มีไฟล์ไลเซนส์.ใช้ไลเซนส์ชั่วคราวหรือไลเซนส์ที่ซื้อแล้วที่ถูกต้องก่อนทำการแยกข้อมูล.

การประยุกต์ใช้งานจริง (อ่านข้อความจากชีต Excel)

  1. การย้ายข้อมูล: ย้ายข้อมูลสเปรดชีตเก่าไปยังฐานข้อมูลสมัยใหม่โดยไม่ต้องคัดลอก‑วางด้วยมือ.
  2. การสร้างรายงานอัตโนมัติ: ดึงค่าดิบจากหลายเวิร์กบุ๊กเพื่อสร้างรายงาน PDF หรือ HTML รวม.
  3. การทำดัชนีการค้นหา: ทำดัชนีข้อความที่ดึงมาใน Elasticsearch เพื่อการค้นหาเนื้อหาอย่างรวดเร็ว.

เคล็ดลับประสิทธิภาพสำหรับไฟล์ Excel ขนาดใหญ่

  • สตรีมต่อชีต: ลูปนี้ประมวลผลหนึ่งชีตต่อครั้ง ทำให้การใช้หน่วยความจำน้อย.
  • ใช้ TextReader ซ้ำ: หลีกเลี่ยงการสร้างอ็อบเจ็กต์ที่ไม่จำเป็นภายในลูปที่แคบ.
  • การประมวลผลแบบขนาน: สำหรับเวิร์กบุ๊กขนาดใหญ่มาก ให้พิจารณาประมวลผลชีตในเธรดแยก แต่ต้องระวังความปลอดภัยของเธรดกับอ็อบเจ็กต์ Parser.

คำถามที่พบบ่อย

Q: GroupDocs.Parser รองรับรูปแบบสเปรดชีตอื่น ๆ อะไรบ้าง?
A: รองรับ XLSX, XLS, CSV, ODS, และรูปแบบ Office Open XML อื่น ๆ — มากกว่า 10 รูปแบบทั้งหมด.

Q: ฉันสามารถดึงข้อมูลการจัดรูปแบบของเซลล์ได้ด้วยหรือไม่?
A: ได้, โดยใช้ TextOptions โดยไม่เปิดธง raw, คุณสามารถดึงข้อความที่จัดรูปแบบซึ่งรักษาการสไตล์พื้นฐานไว้.

Q: จะจัดการไฟล์ Excel ที่มีรหัสผ่านอย่างไร?
A: ส่งรหัสผ่านไปยังคอนสตรัคเตอร์ Parser: new Parser(filePath, "password").

Q: มีวิธีดึงเฉพาะคอลัมน์ที่ต้องการหรือไม่?
A: คุณสามารถทำ post‑process กับ sheetContent เพื่อกรองบรรทัดหรือใช้ API SpreadsheetOptions เพื่อควบคุมอย่างละเอียด.

Q: จะหาโค้ดตัวอย่างเพิ่มเติมได้จากที่ไหน?
A: ตรวจสอบ GroupDocs documentation และที่เก็บ GitHub สำหรับตัวอย่างเพิ่มเติม.

แหล่งข้อมูล

อัปเดตล่าสุด: 2026-09-27
ทดสอบด้วย: GroupDocs.Parser 25.5 for Java
ผู้เขียน: GroupDocs

บทแนะนำที่เกี่ยวข้อง