ค้นหาข้อมูลใน Excel โดยใช้ Java

สเปรดชีต Excel ช่วยให้สามารถจัดเก็บข้อมูลจำนวนมากในรูปแบบตารางได้ ในบางกรณี เราอาจจำเป็นต้องค้นหาเซลล์ที่มีค่าข้อมูลหรือสตริงเฉพาะจากข้อมูลที่เก็บไว้ แม้ว่า Excel จะมีฟังก์ชันการทำงานในตัวเพื่อค้นหาในสเปรดชีตทั้งหมด แต่เราอาจจำเป็นต้องดำเนินการค้นหาโดยทางโปรแกรมในแอปพลิเคชัน Java ในบทความนี้ เราจะเรียนรู้วิธีค้นหาข้อมูลใน Excel โดยใช้ Java

หัวข้อต่อไปนี้จะครอบคลุมในบทความนี้:

Java API เพื่อค้นหาข้อมูลใน Excel

เราจะใช้ Aspose.Cells for Java API เพื่อดำเนินการค้นหาในไฟล์ XLSX ช่วยให้สามารถดำเนินการคุณลักษณะการทำงานอัตโนมัติของ Excel โดยทางโปรแกรมโดยไม่ต้องใช้แอปพลิเคชัน Microsoft Excel โปรด ดาวน์โหลด JAR ของ API หรือเพียงเพิ่มการกำหนดค่า pom.xml ต่อไปนี้ในแอปพลิเคชัน Java ที่ใช้ Maven

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-cells</artifactId>
    <version>22.1</version>
</dependency>

ค้นหาข้อความเฉพาะใน Excel โดยใช้ Java

เราสามารถค้นหาข้อความ ตัวเลข หรือค่าวันที่ในไฟล์ Excel ได้โดยทำตามขั้นตอนด้านล่าง:

  • ขั้นแรก โหลดไฟล์ Excel โดยใช้คลาส Workbook
  • ถัดไป เข้าถึง แผ่นงาน แรกในไฟล์ Excel
  • จากนั้นรับ เซลล์ ของชีตที่เข้าถึง
  • ถัดไป สร้างอินสแตนซ์ของคลาส FindOptions
  • หลังจากนั้น ให้ตั้งค่า LookAtType เป็น “เนื้อหาทั้งหมด”
  • สุดท้าย ค้นหาข้อความโดยใช้เมธอด Cells.find() ใช้เวลาค้นหาสตริงและ FindOptions เป็นอาร์กิวเมนต์

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีค้นหาข้อความเฉพาะในไฟล์ Excel โดยใช้ Java

// โหลดไฟล์ Excel
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample.xlsx");

// เข้าถึงแผ่นงานแรกในไฟล์ Excel
Worksheet worksheet = workbook.getWorksheets().get(0);

// รับเซลล์ทั้งหมดใน CellCollections
Cells cells = worksheet.getCells();

// เริ่มต้น FindOptions
FindOptions findOptions = new FindOptions();

// ค้นหาเซลล์ที่มีค่าสตริง
findOptions.setLookAtType(LookAtType.ENTIRE_CONTENT);
Cell cell = cells.find("A Company", null, findOptions);

// แสดงชื่อเซลล์และค่าของมัน
System.out.println("Name of the cell containing String: " + cell.getName());
System.out.println("the cell value is: " + cell.getValue());
ค้นหาข้อความเฉพาะใน Excel โดยใช้ Java

ค้นหาข้อความเฉพาะใน Excel โดยใช้ Java

ค้นหาข้อความที่ขึ้นต้นด้วยตัวอักษรเฉพาะ

เราสามารถค้นหาค่าข้อความที่ขึ้นต้นด้วยตัวอักษรเฉพาะได้โดยทำตามขั้นตอนที่กล่าวข้างต้น อย่างไรก็ตาม เราเพียงแค่ต้องตั้งค่า LookAtType เป็น “STARTWITH"

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีค้นหาข้อความเฉพาะที่ขึ้นต้นด้วยตัวอักษร “H" ในไฟล์ Excel โดยใช้ Java

// โหลดไฟล์ Excel
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample.xlsx");

// เข้าถึงแผ่นงานแรกในไฟล์ Excel
Worksheet worksheet = workbook.getWorksheets().get(0);

// รับเซลล์ทั้งหมดใน CellCollections
Cells cells = worksheet.getCells();

// เริ่มต้น FindOptions
FindOptions findOptions = new FindOptions();

// ค้นหาเซลล์ที่มีค่าสตริง
findOptions.setLookAtType(LookAtType.START_WITH);
Cell cell = cells.find("H", null, findOptions);

// แสดงชื่อเซลล์และค่าของเซลล์
System.out.println("Name of the cell containing String: " + cell.getName());
System.out.println("the cell value is: " + cell.getValue());

ค้นหาข้อความที่ลงท้ายด้วยตัวอักษรเฉพาะ

เราสามารถค้นหาค่าข้อความที่ลงท้ายด้วยตัวอักษรเฉพาะได้โดยทำตามขั้นตอนที่กล่าวข้างต้น อย่างไรก็ตาม เราเพียงแค่ต้องตั้งค่า LookAtType เป็น “ENDWITH"

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีค้นหาข้อความเฉพาะที่ลงท้ายด้วยตัวอักษร “any" ในไฟล์ Excel โดยใช้ Java

// โหลดไฟล์ Excel
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample.xlsx");

// เข้าถึงแผ่นงานแรกในไฟล์ Excel
Worksheet worksheet = workbook.getWorksheets().get(0);

// รับเซลล์ทั้งหมดใน CellCollections
Cells cells = worksheet.getCells();

// เริ่มต้น FindOptions
FindOptions findOptions = new FindOptions();

// ค้นหาเซลล์ที่มีค่าสตริง
findOptions.setLookAtType(LookAtType.ENDS_WITH);
Cell cell = cells.find("any", null, findOptions);

// แสดงชื่อเซลล์และค่าของมัน
System.out.println("Name of the cell containing String: " + cell.getName());
System.out.println("the cell value is: " + cell.getValue());

ค้นหาข้อความที่มีตัวอักษรเฉพาะ

เราสามารถค้นหาค่าข้อความที่มีสตริงย่อยเฉพาะเจาะจงได้โดยทำตามขั้นตอนที่กล่าวข้างต้น อย่างไรก็ตาม เราเพียงแค่ต้องตั้งค่า LookAtType เป็น “CONTAINS"

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีค้นหาข้อความที่มี “comp” ในไฟล์ Excel โดยใช้ Java

// โหลดไฟล์ Excel
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample.xlsx");

// เข้าถึงแผ่นงานแรกในไฟล์ Excel
Worksheet worksheet = workbook.getWorksheets().get(0);

// รับเซลล์ทั้งหมดใน CellCollections
Cells cells = worksheet.getCells();

// เริ่มต้น FindOptions
FindOptions findOptions = new FindOptions();

// ค้นหาเซลล์ที่มีค่าสตริง
findOptions.setLookAtType(LookAtType.CONTAINS);
Cell cell = cells.find("comp", null, findOptions);

// แสดงชื่อเซลล์และค่าของเซลล์
System.out.println("Name of the cell containing String: " + cell.getName());
System.out.println("the cell value is: " + cell.getValue());

ค้นหาด้วยนิพจน์ทั่วไปใน Excel โดยใช้ Java

นอกจากนี้เรายังสามารถค้นหาค่าของเซลล์โดยใช้นิพจน์ทั่วไปโดยทำตามขั้นตอนที่กล่าวข้างต้น อย่างไรก็ตาม เราเพียงแค่ต้องตั้งค่า Regex Key ให้เป็นจริงและ LookAtType เป็น “CONTAINS”

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีค้นหาข้อความโดยใช้นิพจน์ทั่วไปในไฟล์ Excel โดยใช้ Java

// โหลดไฟล์ Excel
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample.xlsx");

// เข้าถึงแผ่นงานแรกในไฟล์ Excel
Worksheet worksheet = workbook.getWorksheets().get(0);

// รับเซลล์ทั้งหมดใน CellCollections
Cells cells = worksheet.getCells();

// เริ่มต้น FindOptions
FindOptions findOptions = new FindOptions();

// กำหนดให้เป็น Regex
findOptions.setRegexKey(true);
findOptions.setLookAtType(LookAtType.ENTIRE_CONTENT);
findOptions.setLookInType(LookInType.VALUES);
Cell cell = cells.find("[a-z]{1}[\\s]&[\\s][a-z]{1}", null, opt);

// แสดงชื่อเซลล์และค่าของมัน
System.out.println("Name of the cell containing String: " + cell.getName());
System.out.println("the cell value is: " + cell.getValue());
ค้นหาด้วยนิพจน์ทั่วไปใน Excel โดยใช้ Java

ค้นหาด้วยนิพจน์ทั่วไปใน Excel โดยใช้ Java

การค้นหาแบบตรงตามตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ใน Excel โดยใช้ Java

เราสามารถดำเนินการค้นหาและค้นหาสตริงข้อความที่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่โดยทำตามขั้นตอนที่กล่าวข้างต้น อย่างไรก็ตาม เราเพียงแค่ต้องตั้งค่าคุณสมบัติ CaseSensitive ให้เป็นจริง

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีค้นหาข้อความที่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ในไฟล์ Excel โดยใช้ Java

// โหลดไฟล์ Excel
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample.xlsx");

// เข้าถึงแผ่นงานแรกในไฟล์ Excel
Worksheet worksheet = workbook.getWorksheets().get(0);

// รับเซลล์ทั้งหมดใน CellCollections
Cells cells = worksheet.getCells();

// เริ่มต้น FindOptions
FindOptions findOptions = new FindOptions();

// ค้นหาเซลล์ที่มีสูตร
findOptions.setCaseSensitive(true);
findOptions.setLookAtType(LookAtType.CONTAINS);
Cell cell = cells.find("Ltd", null, findOptions);

// แสดงชื่อเซลล์และค่าของเซลล์
System.out.println("Name of the cell containing String: " + cell.getName());
System.out.println("the cell value is: " + cell.getValue());

ค้นหาสูตรใน Excel โดยใช้ Java

เราสามารถค้นหาเซลล์ที่มีสูตรในไฟล์ Excel ได้โดยทำตามขั้นตอนด้านล่าง:

  • ขั้นแรก โหลดไฟล์ Excel โดยใช้คลาส Workbook
  • ถัดไป เข้าถึงแผ่นงานแรกในไฟล์ Excel
  • จากนั้นรับเซลล์ของแผ่นงานที่เข้าถึง
  • ถัดไป สร้างอินสแตนซ์ของคลาส FindOptions
  • หลังจากนั้น ให้ตั้งค่า LookInType เป็น “FORMULAS”
  • สุดท้าย ค้นหาข้อความโดยใช้เมธอด Cells.find() ใช้เวลาค้นหาสตริงและ FindOptions เป็นอาร์กิวเมนต์

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีค้นหาเซลล์สูตรในไฟล์ Excel โดยใช้ Java

// โหลดไฟล์ Excel
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample.xlsx");

// เข้าถึงแผ่นงานแรกในไฟล์ Excel
Worksheet worksheet = workbook.getWorksheets().get(0);

// รับเซลล์ทั้งหมดใน CellCollections
Cells cells = worksheet.getCells();

// เริ่มต้น FindOptions
FindOptions findOptions = new FindOptions();

// ค้นหาเซลล์ที่มีสูตร
findOptions.setLookInType(LookInType.FORMULAS);
Cell cell = cells.find("=SUM(C2:C10)", null, findOptions);

// แสดงชื่อเซลล์และค่าของมัน
System.out.println("Name of the cell containing String: " + cell.getName());
System.out.println("the cell value is: " + cell.getValue());
ค้นหาสูตรใน Excel โดยใช้ Java

ค้นหาสูตรใน Excel โดยใช้ Java

รับใบอนุญาตฟรี

โปรดลองใช้ API โดยไม่มีข้อจำกัดในการประเมินโดยขอ ใบอนุญาตชั่วคราวฟรี

บทสรุป

ในบทความนี้ เราได้เรียนรู้วิธีค้นหาข้อความหรือสูตรใน Excel โดยใช้ Java โดยเฉพาะอย่างยิ่ง เราได้เรียนรู้วิธีค้นหาข้อความใน Excel ที่เริ่มต้น สิ้นสุด หรือมีตัวอักษรเฉพาะโดยทางโปรแกรม เรายังได้เห็นวิธีการค้นหาโดยใช้นิพจน์ทั่วไปในไฟล์ Excel นอกจากนี้ คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับ Aspose.Cells for Java API ได้โดยใช้ เอกสารประกอบ ในกรณีที่มีความคลุมเครือ โปรดติดต่อเราที่ ฟอรั่ม

ดูสิ่งนี้ด้วย