Xóa hàng và cột trống trong Excel bằng Java

Chúng ta có thể dễ dàng xóa các hàng và cột trống khỏi bảng tính Excel theo chương trình. Trong bài viết này, chúng ta sẽ tìm hiểu cách xóa hàng và cột trống trong Excel bằng Java.

Các chủ đề sau đây sẽ được đề cập trong bài viết này:

API Java để xóa hàng và cột trống trong Excel

Để xóa các hàng và cột trống khỏi tệp XLSX, chúng tôi sẽ sử dụng API Aspose.Cells for Java. Vui lòng tải xuống JAR của API hoặc chỉ cần thêm cấu hình pom.xml sau vào ứng dụng Java dựa trên 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>

Xóa hàng trống trong Excel bằng Java

Chúng ta có thể xóa các hàng trống khỏi bảng tính Excel theo chương trình bằng cách thực hiện theo các bước dưới đây:

  • Đầu tiên, tải tệp Excel bằng lớp Workbook.
  • Tiếp theo, gọi phương thức Workbook.getWorksheets() và lấy các bảng tính trong đối tượng WorksheetCollection.
  • Sau đó, truy cập trang tính có các hàng trống theo chỉ mục của nó (dựa trên số 0) hoặc theo tên.
  • Sau đó, gọi phương thức Cells.deleteBlankRows() để xóa các hàng trống khỏi bảng tính được truy cập.
  • Cuối cùng, gọi phương thức save() với đường dẫn tệp đầu ra để lưu tệp đầu ra.

Mã mẫu sau đây cho biết cách xóa các hàng trống khỏi Excel bằng Java.

// Tải một tập tin excel hiện có.
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample_rows_cols.xlsx");

// Lấy bộ sưu tập bảng tính trong bảng tính.
WorksheetCollection sheets = workbook.getWorksheets();

// Nhận bảng tính đầu tiên từ WorksheetCollection theo chỉ mục.
Worksheet sheet = sheets.get(0);
// Hoặc theo tên.
// Trang tính = sheet.get("Sheet1");

// Xóa các hàng trống khỏi bảng tính.
sheet.getCells().deleteBlankRows();

// Lưu file excel đã cập nhật.
workbook.save("C:\\Files\\Cells\\output.xlsx");
Xóa các hàng trống trong Excel bằng Java.

Xóa các hàng trống trong Excel bằng Java.

Tương tự, chúng ta có thể xóa các hàng trống khỏi tất cả các trang tính trong tài liệu Excel. Chúng ta sẽ chỉ lặp lại WorksheetCollection và gọi phương thức deleteBlankRows() trên mỗi bảng tính như trong ví dụ mã sau:

// Mở một tập tin excel hiện có.
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample_rows_cols.xlsx");

// Nhận bộ sưu tập bảng tính
WorksheetCollection worksheets = workbook.getWorksheets();

// Lặp lại trên các bảng tính.
for (int i=0; i<worksheets.getCount(); i++)
{
    // Truy cập từng trang tính một
    Worksheet sheet = worksheets.get(i);
  
    // Xóa các hàng trống khỏi bảng tính.
    sheet.getCells().deleteBlankRows();
}

// Lưu file excel đã cập nhật.
workbook.save("C:\\Files\\Cells\\output.xlsx");

Xóa các cột trống trong Excel bằng Java

Chúng ta có thể xóa các cột trống khỏi bảng tính Excel theo chương trình bằng cách thực hiện theo các bước dưới đây:

  • Đầu tiên, tải tệp Excel bằng lớp Workbook.
  • Tiếp theo, gọi phương thức Workbook.getWorksheets() và lấy các bảng tính trong đối tượng WorksheetCollection.
  • Sau đó, truy cập trang tính có các cột trống theo chỉ mục của nó (dựa trên số 0) hoặc theo tên.
  • Sau đó, gọi phương thức Cells.deleteBlankColumns() để xóa các cột trống khỏi bảng tính được truy cập.
  • Cuối cùng, gọi phương thức save() với đường dẫn tệp đầu ra để lưu tệp đầu ra.

Mã mẫu sau đây cho biết cách xóa các cột trống khỏi Excel bằng Java.

// Mở một tập tin excel hiện có.
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample_rows_cols.xlsx");

// Lấy bộ sưu tập bảng tính trong bảng tính.
WorksheetCollection sheets = workbook.getWorksheets();

// Nhận bảng tính đầu tiên từ WorksheetCollection theo chỉ mục.
Worksheet sheet = sheets.get(2);

// Xóa các cột trống.
sheet.getCells().deleteBlankColumns(options);

// Lưu file excel đã cập nhật.
workbook.save("C:\\Files\\Cells\\output_DeleteBlankColumns.xlsx");	
Xóa các cột trống trong Excel bằng Java.

Xóa các cột trống trong Excel bằng Java.

Tự động cập nhật tài liệu tham khảo trong khi xóa hàng và cột trống

Việc xóa các hàng hoặc cột trống có thể làm hỏng các tham chiếu trong công thức, biểu đồ và bảng. Ví dụ: ô A1 trong Sheet2 có công thức =Sheet1!C7 đề cập đến ô C7 của bảng tính đầu tiên như trong hình sau.

Ô A1 trong Trang tính 2 đang đề cập đến giá trị của ô C7 trong Trang tính 1.

Ô A1 trong Trang tính 2 đang đề cập đến giá trị của ô C7 trong Trang tính 1.

Nếu chúng ta xóa các hàng trống trong Sheet1, giá trị của C7 (650000) sẽ được chuyển sang ô C6. Nhưng công thức (=Sheet1!C7) sẽ không cập nhật và ô A1 sẽ hiển thị giá trị của C7, trong trường hợp này sẽ là 550000. Chúng ta có thể tránh vấn đề này bằng cách đặt DeleteOptions.setUpdateReference thành true. Nó sẽ đảm bảo rằng các tham chiếu được cập nhật trong khi xóa các hàng trống.

Chúng tôi có thể tự động cập nhật các tham chiếu trong khi xóa các hàng trống khỏi bảng tính Excel theo chương trình bằng cách thực hiện theo các bước dưới đây:

  • Đầu tiên, tải tệp Excel bằng lớp Workbook.
  • Tiếp theo, gọi phương thức Workbook.getWorksheets() và lấy các bảng tính trong đối tượng WorksheetCollection.
  • Sau đó, truy cập trang tính theo chỉ mục (dựa trên số 0) hoặc theo tên có các hàng trống.
  • Tiếp theo, tạo một thể hiện của lớp DeleteOptions
  • Sau đó, gọi setUpdateReferences() thành true. Nó sẽ cập nhật các tham chiếu trong các trang tính khác đồng thời xóa các hàng trống.
  • Sau đó, gọi phương thức Cells.deleteBlankRows() với đối tượng DeleteOptions làm đối số để xóa các hàng trống khỏi bảng tính được truy cập.
  • Cuối cùng, gọi phương thức save() với đường dẫn tệp đầu ra để lưu tệp đầu ra.

Mã mẫu sau đây cho biết cách cập nhật tài liệu tham khảo trong khi xóa các hàng trống trong Excel.

// Mở một tập tin excel hiện có.
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample_rows_cols.xlsx");

// Lấy bộ sưu tập bảng tính trong bảng tính.
WorksheetCollection sheets = workbook.getWorksheets();

// Nhận bảng tính đầu tiên từ WorksheetCollection theo chỉ mục.
Worksheet sheet = sheets.get(0);

// Tùy chọn này sẽ đảm bảo các tham chiếu (trong công thức, biểu đồ)
// được cập nhật trong khi xóa các hàng trống.
DeleteOptions options = new DeleteOptions();
options.setUpdateReference(true);

// Xóa các hàng trống khỏi bảng tính.
sheet.getCells().deleteBlankRows(options);

// Lưu file excel đã cập nhật.
workbook.save("C:\\Files\\Cells\\output_UpdateReferencesAutomatically.xlsx");

Tương tự, chúng ta có thể cập nhật tài liệu tham khảo đồng thời xóa các cột trống trong Excel. Tuy nhiên, chúng ta chỉ cần gọi phương thức deleteBlankColumns() với DeleteOptions làm đối số.

Nhận giấy phép miễn phí

Vui lòng dùng thử API không có giới hạn đánh giá bằng cách yêu cầu giấy phép tạm thời miễn phí.

Phần kết luận

Trong bài viết này, chúng ta đã học cách xóa hàng và cột trong Excel bằng Java. Chúng ta cũng đã thấy cách cập nhật các tham chiếu trong khi xóa các hàng và cột theo chương trình. Ngoài ra, bạn có thể tìm hiểu thêm về Aspose.Cells for Java API bằng tài liệu. Trong trường hợp có bất kỳ sự mơ hồ nào, vui lòng liên hệ với chúng tôi trên diễn đàn.

Xem thêm