Java kullanarak Excel'deki Boş Satırları ve Sütunları Silme

Boş satırları ve sütunları Excel çalışma sayfalarından programlı olarak kolayca kaldırabiliriz. Bu yazımızda Java kullanarak Excel’de boş satır ve sütunların nasıl silineceğini öğreneceğiz.

Bu makalede aşağıdaki konular ele alınacaktır:

Excel’de Boş Satırları ve Sütunları Silmek için Java API

XLSX dosyalarındaki boş satırları ve sütunları kaldırmak için Aspose.Cells for Java API’sini kullanacağız. Lütfen API’nin JAR’ını indirin veya aşağıdaki pom.xml yapılandırmasını Maven tabanlı bir Java uygulamasına ekleyin.

<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>

Java kullanarak Excel’deki Boş Satırları Silme

Aşağıdaki adımları izleyerek Excel çalışma sayfalarındaki boş satırları programlı olarak silebiliriz:

  • Öncelikle Workbook sınıfını kullanarak bir Excel dosyası yükleyin.
  • Daha sonra, Workbook.getWorksheets() yöntemini çağırın ve WorksheetCollection nesnesindeki çalışma sayfalarını alın.
  • Ardından, boş satırları içeren çalışma sayfasına dizinine (sıfır tabanlı) veya adına göre erişin.
  • Bundan sonra, erişilen çalışma sayfasındaki boş satırları silmek için Cells.deleteBlankRows() yöntemini çağırın.
  • Son olarak, çıktı dosyasını kaydetmek için çıktı dosyası yolu ile save() yöntemini çağırın.

Aşağıdaki örnek kod, Java kullanarak boş satırların Excel’den nasıl kaldırılacağını gösterir.

// Mevcut bir excel dosyasını yükleyin.
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample_rows_cols.xlsx");

// Çalışma sayfaları koleksiyonunu elektronik tabloya alın.
WorksheetCollection sheets = workbook.getWorksheets();

// Dizine göre WorksheetCollection'dan ilk Çalışma Sayfasını alın.
Worksheet sheet = sheets.get(0);
// Veya ismiyle.
// Çalışma sayfası sayfası = sayfalar.get("Sayfa1");

// Boş Satırları çalışma sayfasından silin.
sheet.getCells().deleteBlankRows();

// Güncellenen excel dosyasını kaydedin.
workbook.save("C:\\Files\\Cells\\output.xlsx");
Java kullanarak Excel'deki Boş Satırları silin.

Java kullanarak Excel’deki Boş Satırları silin.

Benzer şekilde, bir Excel belgesindeki tüm çalışma sayfalarından boş satırları silebiliriz. Aşağıdaki kod örneğinde gösterildiği gibi WorksheetCollection üzerinde basitçe yineleme yapacağız ve her çalışma sayfasında deleteBlankRows() yöntemini çağıracağız:

// Mevcut bir excel dosyasını açın.
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample_rows_cols.xlsx");

// Çalışma sayfaları koleksiyonunu alın
WorksheetCollection worksheets = workbook.getWorksheets();

// Çalışma sayfaları üzerinde yineleyin.
for (int i=0; i<worksheets.getCount(); i++)
{
    // Çalışma sayfalarına tek tek erişme
    Worksheet sheet = worksheets.get(i);
  
    // Boş Satırları çalışma sayfasından silin.
    sheet.getCells().deleteBlankRows();
}

// Güncellenen excel dosyasını kaydedin.
workbook.save("C:\\Files\\Cells\\output.xlsx");

Java kullanarak Excel’deki Boş Sütunları Silme

Aşağıdaki adımları izleyerek Excel çalışma sayfalarındaki boş sütunları programlı olarak silebiliriz:

  • Öncelikle Workbook sınıfını kullanarak bir Excel dosyası yükleyin.
  • Daha sonra, Workbook.getWorksheets() yöntemini çağırın ve WorksheetCollection nesnesindeki çalışma sayfalarını alın.
  • Ardından, boş sütunların bulunduğu çalışma sayfasına dizinine (sıfır tabanlı) veya adına göre erişin.
  • Bundan sonra, erişilen çalışma sayfasındaki boş sütunları silmek için Cells.deleteBlankColumns() yöntemini çağırın.
  • Son olarak, çıktı dosyasını kaydetmek için çıktı dosyası yolu ile save() yöntemini çağırın.

Aşağıdaki örnek kod, Java kullanarak boş sütunların Excel’den nasıl kaldırılacağını gösterir.

// Mevcut bir excel dosyasını açın.
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample_rows_cols.xlsx");

// Çalışma sayfaları koleksiyonunu elektronik tabloya alın.
WorksheetCollection sheets = workbook.getWorksheets();

// Dizine göre WorksheetCollection'dan ilk Çalışma Sayfasını alın.
Worksheet sheet = sheets.get(2);

// Boş sütunları silin.
sheet.getCells().deleteBlankColumns(options);

// Güncellenen excel dosyasını kaydedin.
workbook.save("C:\\Files\\Cells\\output_DeleteBlankColumns.xlsx");	
Java kullanarak Excel'deki Boş Sütunları silin.

Java kullanarak Excel’deki Boş Sütunları silin.

Boş Satırları ve Sütunları Silerken Referansları Otomatik Olarak Güncelleyin

Boş satırları veya sütunları silmek formüller, grafikler ve tablolardaki referansları bozabilir. Örneğin, Sayfa2’deki A1 hücresi, aşağıdaki şekilde gösterildiği gibi ilk çalışma sayfasının C7 hücresine atıfta bulunan =Sayfa1!C7 formülüne sahiptir.

Sayfa2'deki A1 hücresi, Sayfa1'deki C7 hücresinin değerini ifade eder.

Sayfa2’deki A1 hücresi, Sayfa1’deki C7 hücresinin değerini ifade eder.

Sayfa1’deki boş satırları kaldırırsak C7’nin değeri (650000) C6 hücresine taşınacaktır. Ancak formül (=Sayfa1!C7) güncellenmeyecek ve A1 hücresi, bu durumda 550000 olacak olan C7 değerini gösterecektir. DeleteOptions.setUpdateReference öğesini true olarak ayarlayarak bu sorunu önleyebiliriz. Boş satırları silerken referansların güncellenmesini sağlayacaktır.

Aşağıdaki adımları takip ederek programlı olarak Excel çalışma sayfalarından boş satırları silerken referansları otomatik olarak güncelleyebiliriz:

  • Öncelikle Workbook sınıfını kullanarak bir Excel dosyası yükleyin.
  • Daha sonra, Workbook.getWorksheets() yöntemini çağırın ve WorksheetCollection nesnesindeki çalışma sayfalarını alın.
  • Daha sonra çalışma sayfasına dizine (sıfır tabanlı) veya boş satırların bulunduğu ada göre erişin.
  • Daha sonra, DeleteOptions sınıfının bir örneğini oluşturun
  • Daha sonra true için setUpdateReferences() öğesini çağırın. Boş satırları silerken diğer sayfalardaki referansları güncelleyecektir.
  • Bundan sonra, erişilen çalışma sayfasındaki boş satırları silmek için bağımsız değişken olarak deleteOptions nesnesiyle Cells.deleteBlankRows() yöntemini çağırın.
  • Son olarak, çıktı dosyasını kaydetmek için çıktı dosyası yolu ile save() yöntemini çağırın.

Aşağıdaki örnek kod, Excel’deki boş satırları silerken referansların nasıl güncelleştirileceğini gösterir.

// Mevcut bir excel dosyasını açın.
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample_rows_cols.xlsx");

// Çalışma sayfaları koleksiyonunu elektronik tabloya alın.
WorksheetCollection sheets = workbook.getWorksheets();

// Dizine göre WorksheetCollection'dan ilk Çalışma Sayfasını alın.
Worksheet sheet = sheets.get(0);

// Bu seçenek referansların (formüllerde, grafiklerde) sağlanmasını sağlayacaktır.
// boş satırlar silinirken güncellenir.
DeleteOptions options = new DeleteOptions();
options.setUpdateReference(true);

// Boş Satırları çalışma sayfasından silin.
sheet.getCells().deleteBlankRows(options);

// Güncellenen excel dosyasını kaydedin.
workbook.save("C:\\Files\\Cells\\output_UpdateReferencesAutomatically.xlsx");

Benzer şekilde Excel’de boş sütunları silerken referansları güncelleyebiliriz. Ancak, yalnızca deleteBlankColumns() yöntemini, bağımsız değişken olarak SilOptions ile çağırmamız gerekir.

Ücretsiz Lisans Alın

Lütfen ücretsiz bir geçici lisans talep ederek API’yi değerlendirme sınırlamaları olmadan deneyin.

Çözüm

Bu yazımızda Java kullanarak Excel’de satır ve sütunların nasıl silineceğini öğrendik. Programlı olarak satırları ve sütunları silerken referansların nasıl güncelleneceğini de gördük. Ayrıca, belgeleri kullanarak Aspose.Cells for Java API hakkında daha fazla bilgi edinebilirsiniz. Herhangi bir belirsizlik durumunda lütfen forum üzerinden bizimle iletişime geçmekten çekinmeyin.

Ayrıca bakınız