Java kullanarak Excel'de Veri Arama

Excel elektronik tabloları, büyük miktarda verinin tablo halinde saklanmasına olanak tanır. Bazı durumlarda, depolanan verilerden belirli veri değerleri veya dizeleri içeren hücreleri aramamız gerekebilir. Excel, tüm elektronik tablolarda arama yapmak için yerleşik işlevsellik sunsa da, Java uygulamalarında arama işlemini programlı olarak gerçekleştirmemiz gerekebilir. Bu yazımızda Java kullanarak Excel’de veri aramayı öğreneceğiz.

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

Excel’de Veri Aramak için Java API

XLSX dosyasında arama işlemini gerçekleştirmek için Aspose.Cells for Java API’sini kullanacağız. Microsoft Excel uygulamasına ihtiyaç duymadan Excel otomasyon özelliklerinin programlı olarak gerçekleştirilmesine olanak sağlar. 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>22.1</version>
</dependency>

Java kullanarak Excel’de Belirli Metni Bulma

Aşağıdaki adımları izleyerek bir Excel dosyasındaki herhangi bir metin, sayı veya tarih değerini arayabiliriz:

  • Öncelikle Workbook sınıfını kullanarak bir Excel dosyası yükleyin.
  • Daha sonra, Excel dosyasındaki ilk çalışma sayfasına erişiyoruz.
  • Ardından erişilen sayfanın hücrelerini alın.
  • Daha sonra, FindOptions sınıfının bir örneğini oluşturun.
  • Bundan sonra LookAtType öğesini “ENTIRECONTENT" olarak ayarlayın.
  • Son olarak, Cells.find() yöntemini kullanarak metni bulun. Argüman olarak arama dizesini ve FindOptions’ı alır.

Aşağıdaki kod örneği, Java kullanarak bir Excel dosyasındaki belirli bir metnin nasıl bulunacağını gösterir.

// Bir Excel dosyası yükleyin
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample.xlsx");

// Excel dosyasındaki ilk çalışma sayfasına erişme
Worksheet worksheet = workbook.getWorksheets().get(0);

// CellCollections'taki tüm hücreleri alın
Cells cells = worksheet.getCells();

// FindOptions'ı Başlat
FindOptions findOptions = new FindOptions();

// Dize değeri içeren hücreyi bulun
findOptions.setLookAtType(LookAtType.ENTIRE_CONTENT);
Cell cell = cells.find("A Company", null, findOptions);

// Hücre adını ve değerini göster
System.out.println("Name of the cell containing String: " + cell.getName());
System.out.println("the cell value is: " + cell.getValue());
Java kullanarak Excel'de Belirli Metni Bulma

Java kullanarak Excel’de Belirli Metni bulun.

Belirli Harflerle Başlayan Metni Bul

Yukarıda belirtilen adımları takip ederek belirli harflerle başlayan herhangi bir metin değerini arayabiliriz. Ancak LookAtType’ı “STARTWITH" olarak ayarlamamız yeterli.

Aşağıdaki kod örneği, Java kullanarak bir Excel dosyasında “H” harfiyle başlayan belirli bir metnin nasıl bulunacağını gösterir.

// Bir Excel dosyası yükleyin
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample.xlsx");

// Excel dosyasındaki ilk çalışma sayfasına erişme
Worksheet worksheet = workbook.getWorksheets().get(0);

// CellCollections'taki tüm hücreleri alın
Cells cells = worksheet.getCells();

// FindOptions'ı Başlat
FindOptions findOptions = new FindOptions();

// Dize değeri içeren hücreyi bulun
findOptions.setLookAtType(LookAtType.START_WITH);
Cell cell = cells.find("H", null, findOptions);

// Hücre adını ve değerini göster
System.out.println("Name of the cell containing String: " + cell.getName());
System.out.println("the cell value is: " + cell.getValue());

Belirli Harflerle Biten Metin Arama

Yukarıda belirtilen adımları izleyerek belirli harflerle biten herhangi bir metin değerini arayabiliriz. Ancak LookAtType’ı “ENDWITH" olarak ayarlamamız yeterli.

Aşağıdaki kod örneği, Java kullanarak bir Excel dosyasında “any” harfleriyle biten belirli bir metnin nasıl bulunacağını gösterir.

// Bir Excel dosyası yükleyin
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample.xlsx");

// Excel dosyasındaki ilk çalışma sayfasına erişme
Worksheet worksheet = workbook.getWorksheets().get(0);

// CellCollections'taki tüm hücreleri alın
Cells cells = worksheet.getCells();

// FindOptions'ı Başlat
FindOptions findOptions = new FindOptions();

// Dize değeri içeren hücreyi bulun
findOptions.setLookAtType(LookAtType.ENDS_WITH);
Cell cell = cells.find("any", null, findOptions);

// Hücre adını ve değerini göster
System.out.println("Name of the cell containing String: " + cell.getName());
System.out.println("the cell value is: " + cell.getValue());

Belirli Harfleri İçeren Metni Bul

Yukarıda belirtilen adımları izleyerek herhangi bir belirli alt dizeyi içeren herhangi bir metin değerini arayabiliriz. Ancak LookAtType’ı “CONTAINS" olarak ayarlamamız yeterli.

Aşağıdaki kod örneği, Java kullanarak bir Excel dosyasında “comp” içeren bir metnin nasıl bulunacağını gösterir.

// Bir Excel dosyası yükleyin
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample.xlsx");

// Excel dosyasındaki ilk çalışma sayfasına erişme
Worksheet worksheet = workbook.getWorksheets().get(0);

// CellCollections'taki tüm hücreleri alın
Cells cells = worksheet.getCells();

// FindOptions'ı Başlat
FindOptions findOptions = new FindOptions();

// Dize değeri içeren hücreyi bulun
findOptions.setLookAtType(LookAtType.CONTAINS);
Cell cell = cells.find("comp", null, findOptions);

// Hücre adını ve değerini göster
System.out.println("Name of the cell containing String: " + cell.getName());
System.out.println("the cell value is: " + cell.getValue());

Java kullanarak Excel’de Normal İfadeyle Arama

Yukarıda belirtilen adımları izleyerek normal ifadeleri kullanarak da bir hücre değerini arayabiliriz. Ancak Regex Key’i true, LookAtType’ı ise “CONTAINS" olarak ayarlamamız yeterli.

Aşağıdaki kod örneği, Java kullanarak bir Excel dosyasında normal ifadeyi kullanarak metnin nasıl bulunacağını gösterir.

// Bir Excel dosyası yükleyin
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample.xlsx");

// Excel dosyasındaki ilk çalışma sayfasına erişme
Worksheet worksheet = workbook.getWorksheets().get(0);

// CellCollections'taki tüm hücreleri alın
Cells cells = worksheet.getCells();

// FindOptions'ı Başlat
FindOptions findOptions = new FindOptions();

// Regex olarak tanımlayın
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);

// Hücre adını ve değerini göster
System.out.println("Name of the cell containing String: " + cell.getName());
System.out.println("the cell value is: " + cell.getValue());
Java kullanarak Excel'de Normal İfadeyle Arama

Java kullanarak Excel’de Normal İfade ile arama yapın.

Java kullanarak Excel’de Büyük/Küçük Harfe Duyarlı Arama

Yukarıda belirtilen adımları izleyerek bir arama işlemi gerçekleştirebilir ve büyük/küçük harfe duyarlı herhangi bir metin dizesini bulabiliriz. Ancak CaseSensitive özelliğini true olarak ayarlamamız yeterli.

Aşağıdaki kod örneği, Java kullanarak bir Excel dosyasında büyük/küçük harfe duyarlı bir metnin nasıl bulunacağını gösterir.

// Bir Excel dosyası yükleyin
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample.xlsx");

// Excel dosyasındaki ilk çalışma sayfasına erişme
Worksheet worksheet = workbook.getWorksheets().get(0);

// CellCollections'taki tüm hücreleri alın
Cells cells = worksheet.getCells();

// FindOptions'ı Başlat
FindOptions findOptions = new FindOptions();

// Formül içeren hücreyi bulun
findOptions.setCaseSensitive(true);
findOptions.setLookAtType(LookAtType.CONTAINS);
Cell cell = cells.find("Ltd", null, findOptions);

// Hücre adını ve değerini göster
System.out.println("Name of the cell containing String: " + cell.getName());
System.out.println("the cell value is: " + cell.getValue());

Java kullanarak Excel’de Formül Arama

Aşağıdaki adımları izleyerek bir Excel dosyasında formül içeren bir hücreyi arayabiliriz:

  • Öncelikle Workbook sınıfını kullanarak bir Excel dosyası yükleyin.
  • Daha sonra Excel dosyasındaki ilk çalışma sayfasına erişiyoruz.
  • Ardından erişilen sayfanın hücrelerini alın.
  • Daha sonra FindOptions sınıfının bir örneğini oluşturun.
  • Bundan sonra LookInType‘yi “FORMÜLLER" olarak ayarlayın.
  • Son olarak Cells.find() yöntemini kullanarak metni bulun. Argüman olarak arama dizesini ve FindOptions’ı alır.

Aşağıdaki kod örneği, Java kullanarak bir Excel dosyasında formül hücresinin nasıl bulunacağını gösterir.

// Bir Excel dosyası yükleyin
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample.xlsx");

// Excel dosyasındaki ilk çalışma sayfasına erişme
Worksheet worksheet = workbook.getWorksheets().get(0);

// CellCollections'taki tüm hücreleri alın
Cells cells = worksheet.getCells();

// FindOptions'ı Başlat
FindOptions findOptions = new FindOptions();

// Formül içeren hücreyi bulun
findOptions.setLookInType(LookInType.FORMULAS);
Cell cell = cells.find("=SUM(C2:C10)", null, findOptions);

// Hücre adını ve değerini göster
System.out.println("Name of the cell containing String: " + cell.getName());
System.out.println("the cell value is: " + cell.getValue());
Java kullanarak Excel'de Formül arayın.

Java kullanarak Excel’de Formül arayın.

Ü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 metin veya formül bulmayı öğrendik. Özellikle, Excel’de belirli harfleri başlatan, bitiren veya içeren herhangi bir metni programlı olarak nasıl arayacağımızı öğrendik. Ayrıca Excel dosyalarında normal ifadeler kullanarak nasıl arama yapacağımızı da 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