ลบแถวและคอลัมน์ว่างใน Excel โดยใช้ Java

เราสามารถลบแถวและคอลัมน์ว่างออกจากแผ่นงาน Excel โดยทางโปรแกรมได้อย่างง่ายดาย ในบทความนี้ เราจะได้เรียนรู้วิธีลบแถวและคอลัมน์ว่างใน 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 โดยใช้ 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

ลบคอลัมน์ว่างใน Excel โดยใช้ Java

อัปเดตการอ้างอิงโดยอัตโนมัติในขณะที่ลบแถวและคอลัมน์ว่าง

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

เซลล์ A1 ใน Sheet2 อ้างอิงถึงค่าของเซลล์ C7 ใน Sheet1

เซลล์ 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 ได้โดยใช้ เอกสารประกอบ ในกรณีที่มีความคลุมเครือ โปรดติดต่อเราที่ ฟอรั่ม

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