
เราสามารถลบแถวและคอลัมน์ว่างออกจากแผ่นงาน Excel โดยทางโปรแกรมได้อย่างง่ายดาย ในบทความนี้ เราจะได้เรียนรู้วิธีลบแถวและคอลัมน์ว่างใน Excel โดยใช้ Java
หัวข้อต่อไปนี้จะครอบคลุมในบทความนี้:
- Java API เพื่อลบแถวและคอลัมน์ว่างใน Excel
- ลบแถวว่างใน Excel โดยใช้ Java
- ลบคอลัมน์ว่างใน Excel โดยใช้ Java
- อัปเดตการอ้างอิงโดยอัตโนมัติในขณะที่ลบแถวและคอลัมน์ว่าง
Java API เพื่อลบแถวและคอลัมน์ว่างใน Excel
สำหรับการลบแถวและคอลัมน์ว่างออกจากไฟล์ XLSX เราจะใช้ Aspose.Cells for Java API โปรด ดาวน์โหลด 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>21.11</version>
</dependency>
ลบแถวว่างใน Excel โดยใช้ Java
เราสามารถลบแถวว่างออกจากแผ่นงาน Excel โดยทางโปรแกรมโดยทำตามขั้นตอนด้านล่าง:
- ขั้นแรก โหลดไฟล์ Excel โดยใช้คลาส สมุดงาน
- จากนั้น เรียกใช้เมธอด Workbook.getWorksheets() และรับเวิร์กชีทในอ็อบเจ็กต์ WorksheetCollection
- จากนั้น เข้าถึงแผ่นงานที่มีแถวว่างตามดัชนี (แบบศูนย์) หรือตามชื่อ
- หลังจากนั้น ให้เรียกใช้เมธอด Cells.deleteBlankRows() เพื่อลบแถวว่างออกจากเวิร์กชีตที่เข้าถึง
- สุดท้ายให้เรียกใช้เมธอด save() พร้อมพาธของไฟล์เอาต์พุตเพื่อบันทึกไฟล์เอาต์พุต
โค้ดตัวอย่างต่อไปนี้แสดงวิธีการลบแถวว่างออกจาก Excel โดยใช้ Java
// โหลดไฟล์ Excel ที่มีอยู่
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample_rows_cols.xlsx");
// รับคอลเลกชันแผ่นงานในสเปรดชีต
WorksheetCollection sheets = workbook.getWorksheets();
// รับแผ่นงานแรกจาก WorksheetCollection ตามดัชนี
Worksheet sheet = sheets.get(0);
// หรือตามชื่อ.
// แผ่นงาน แผ่นงาน = Sheets.get("Sheet1");
// ลบแถวว่างออกจากแผ่นงาน
sheet.getCells().deleteBlankRows();
// บันทึกไฟล์ Excel ที่อัปเดต
workbook.save("C:\\Files\\Cells\\output.xlsx");

ลบแถวว่างใน Excel โดยใช้ Java
ในทำนองเดียวกัน เราสามารถลบแถวว่างออกจากแผ่นงานทั้งหมดในเอกสาร Excel ได้ เราจะวนซ้ำ WorksheetCollection และเรียกเมธอด deleteBlankRows() ในแต่ละแผ่นงานดังที่แสดงในตัวอย่างโค้ดต่อไปนี้:
// เปิดไฟล์ Excel ที่มีอยู่
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample_rows_cols.xlsx");
// รับคอลเลกชันแผ่นงาน
WorksheetCollection worksheets = workbook.getWorksheets();
// ทำซ้ำแผ่นงาน
for (int i=0; i<worksheets.getCount(); i++)
{
// เข้าถึงแผ่นงานทีละรายการ
Worksheet sheet = worksheets.get(i);
// ลบแถวว่างออกจากแผ่นงาน
sheet.getCells().deleteBlankRows();
}
// บันทึกไฟล์ Excel ที่อัปเดต
workbook.save("C:\\Files\\Cells\\output.xlsx");
ลบคอลัมน์ว่างใน Excel โดยใช้ Java
เราสามารถลบคอลัมน์ว่างออกจากแผ่นงาน Excel โดยทางโปรแกรมโดยทำตามขั้นตอนด้านล่าง:
- ขั้นแรก โหลดไฟล์ Excel โดยใช้คลาส สมุดงาน
- จากนั้น เรียกใช้เมธอด Workbook.getWorksheets() และรับเวิร์กชีทในอ็อบเจ็กต์ WorksheetCollection
- จากนั้น เข้าถึงแผ่นงานที่มีคอลัมน์ว่างตามดัชนี (แบบศูนย์) หรือตามชื่อ
- หลังจากนั้น ให้เรียกเมธอด Cells.deleteBlankColumns() เพื่อลบคอลัมน์ว่างออกจากเวิร์กชีตที่เข้าถึง
- สุดท้ายให้เรียกใช้เมธอด save() พร้อมพาธของไฟล์เอาต์พุตเพื่อบันทึกไฟล์เอาต์พุต
โค้ดตัวอย่างต่อไปนี้แสดงวิธีการลบคอลัมน์ว่างออกจาก Excel โดยใช้ Java
// เปิดไฟล์ Excel ที่มีอยู่
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample_rows_cols.xlsx");
// รับคอลเลกชันแผ่นงานในสเปรดชีต
WorksheetCollection sheets = workbook.getWorksheets();
// รับแผ่นงานแรกจาก WorksheetCollection ตามดัชนี
Worksheet sheet = sheets.get(2);
// ลบคอลัมน์ว่าง
sheet.getCells().deleteBlankColumns(options);
// บันทึกไฟล์ Excel ที่อัปเดต
workbook.save("C:\\Files\\Cells\\output_DeleteBlankColumns.xlsx");

ลบคอลัมน์ว่างใน Excel โดยใช้ Java
อัปเดตการอ้างอิงโดยอัตโนมัติในขณะที่ลบแถวและคอลัมน์ว่าง
การลบแถวหรือคอลัมน์ว่างอาจทำให้การอ้างอิงในสูตร แผนภูมิ และตารางเสียหายได้ ตัวอย่างเช่น เซลล์ A1 ใน Sheet2 มีสูตร =Sheet1!C7 ซึ่งอ้างอิงถึงเซลล์ C7 ของเวิร์กชีตแรกดังแสดงในรูปต่อไปนี้

เซลล์ A1 ใน Sheet2 อ้างอิงถึงค่าของเซลล์ C7 ใน Sheet1
หากเราลบแถวว่างใน Sheet1 ค่าของ C7 (650000) จะถูกย้ายไปยังเซลล์ C6 แต่สูตร (=Sheet1!C7) จะไม่อัปเดต และเซลล์ A1 จะแสดงค่าของ C7 ซึ่งในกรณีนี้จะเป็น 550000 เราสามารถหลีกเลี่ยงปัญหานี้ได้โดยการตั้งค่า DeleteOptions.setUpdateReference ให้เป็นจริง จะช่วยให้แน่ใจว่าข้อมูลอ้างอิงได้รับการอัปเดตในขณะที่ลบแถวว่าง
เราสามารถอัปเดตการอ้างอิงโดยอัตโนมัติในขณะที่ลบแถวว่างออกจากแผ่นงาน Excel โดยทางโปรแกรมโดยทำตามขั้นตอนด้านล่าง:
- ขั้นแรก โหลดไฟล์ Excel โดยใช้คลาส สมุดงาน
- จากนั้น เรียกใช้เมธอด Workbook.getWorksheets() และรับเวิร์กชีทในอ็อบเจ็กต์ WorksheetCollection
- จากนั้น เข้าถึงเวิร์กชีตตามดัชนี (แบบศูนย์) หรือตามชื่อที่มีแถวว่าง
- จากนั้น สร้างอินสแตนซ์ของคลาส DeleteOptions
- จากนั้นให้เรียก setUpdateReferences() เป็นจริง มันจะอัปเดตข้อมูลอ้างอิงในแผ่นงานอื่นในขณะที่ลบแถวว่าง
- หลังจากนั้นให้เรียกเมธอด Cells.deleteBlankRows() โดยมีวัตถุ DeleteOptions เป็นอาร์กิวเมนต์เพื่อลบแถวว่างออกจากเวิร์กชีตที่เข้าถึง
- สุดท้ายให้เรียกใช้เมธอด save() พร้อมพาธของไฟล์เอาต์พุตเพื่อบันทึกไฟล์เอาต์พุต
โค้ดตัวอย่างต่อไปนี้แสดงวิธีการอัปเดตการอ้างอิงในขณะที่ลบแถวว่างใน Excel
// เปิดไฟล์ Excel ที่มีอยู่
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample_rows_cols.xlsx");
// รับคอลเลกชันแผ่นงานในสเปรดชีต
WorksheetCollection sheets = workbook.getWorksheets();
// รับแผ่นงานแรกจาก WorksheetCollection ตามดัชนี
Worksheet sheet = sheets.get(0);
// ตัวเลือกนี้จะรับประกันการอ้างอิง (ในสูตร แผนภูมิ)
// ได้รับการอัปเดตในขณะที่ลบแถวว่าง
DeleteOptions options = new DeleteOptions();
options.setUpdateReference(true);
// ลบแถวว่างออกจากแผ่นงาน
sheet.getCells().deleteBlankRows(options);
// บันทึกไฟล์ Excel ที่อัปเดต
workbook.save("C:\\Files\\Cells\\output_UpdateReferencesAutomatically.xlsx");
ในทำนองเดียวกัน เราสามารถอัปเดตข้อมูลอ้างอิงในขณะที่ลบคอลัมน์ว่างใน Excel ได้ อย่างไรก็ตาม เราเพียงแค่ต้องเรียกใช้เมธอด deleteBlankColumns() โดยมี DeleteOptions เป็นอาร์กิวเมนต์
รับใบอนุญาตฟรี
โปรดลองใช้ API โดยไม่มีข้อจำกัดในการประเมินโดยขอ ใบอนุญาตชั่วคราวฟรี
บทสรุป
ในบทความนี้ เราได้เรียนรู้วิธีการลบแถวและคอลัมน์ใน Excel โดยใช้ Java เรายังได้เห็นวิธีอัปเดตข้อมูลอ้างอิงในขณะที่ลบแถวและคอลัมน์โดยทางโปรแกรม นอกจากนี้ คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับ Aspose.Cells for Java API ได้โดยใช้ เอกสารประกอบ ในกรณีที่มีความคลุมเครือ โปรดติดต่อเราที่ ฟอรั่ม