สเปรดชีต Excel ช่วยให้สามารถจัดเก็บข้อมูลจำนวนมากในรูปแบบตารางได้ ในบางกรณี เราอาจจำเป็นต้องค้นหาเซลล์ที่มีค่าข้อมูลหรือสตริงเฉพาะจากข้อมูลที่เก็บไว้ แม้ว่า Excel จะมีฟังก์ชันการทำงานในตัวเพื่อค้นหาในสเปรดชีตทั้งหมด แต่เราอาจจำเป็นต้องดำเนินการค้นหาโดยทางโปรแกรมในแอปพลิเคชัน Java ในบทความนี้ เราจะเรียนรู้วิธีค้นหาข้อมูลใน Excel โดยใช้ Java
หัวข้อต่อไปนี้จะครอบคลุมในบทความนี้:
- Java API เพื่อค้นหาข้อมูลใน Excel
- ค้นหาข้อความเฉพาะใน Excel โดยใช้ Java
- ค้นหาข้อความที่ขึ้นต้นด้วยตัวอักษรเฉพาะ
- ค้นหาข้อความที่ลงท้ายด้วยตัวอักษรเฉพาะ
- ค้นหาข้อความที่มีตัวอักษรเฉพาะ
- ค้นหาด้วยนิพจน์ทั่วไปใน Excel โดยใช้ Java
- การค้นหาแบบตรงตามตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ใน 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());
ค้นหาข้อความที่ขึ้นต้นด้วยตัวอักษรเฉพาะ
เราสามารถค้นหาค่าข้อความที่ขึ้นต้นด้วยตัวอักษรเฉพาะได้โดยทำตามขั้นตอนที่กล่าวข้างต้น อย่างไรก็ตาม เราเพียงแค่ต้องตั้งค่า 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
เราสามารถดำเนินการค้นหาและค้นหาสตริงข้อความที่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่โดยทำตามขั้นตอนที่กล่าวข้างต้น อย่างไรก็ตาม เราเพียงแค่ต้องตั้งค่าคุณสมบัติ 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());
รับใบอนุญาตฟรี
โปรดลองใช้ API โดยไม่มีข้อจำกัดในการประเมินโดยขอ ใบอนุญาตชั่วคราวฟรี
บทสรุป
ในบทความนี้ เราได้เรียนรู้วิธีค้นหาข้อความหรือสูตรใน Excel โดยใช้ Java โดยเฉพาะอย่างยิ่ง เราได้เรียนรู้วิธีค้นหาข้อความใน Excel ที่เริ่มต้น สิ้นสุด หรือมีตัวอักษรเฉพาะโดยทางโปรแกรม เรายังได้เห็นวิธีการค้นหาโดยใช้นิพจน์ทั่วไปในไฟล์ Excel นอกจากนี้ คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับ Aspose.Cells for Java API ได้โดยใช้ เอกสารประกอบ ในกรณีที่มีความคลุมเครือ โปรดติดต่อเราที่ ฟอรั่ม