Verileri Java'da Excel'e Aktarma

JSON ve CSV gibi mevcut çeşitli kaynaklardan verileri kolayca Microsoft Excel’e aktarabilirsiniz. Bir Java geliştiricisi olarak, işi yapmak için birden fazla teknik kullanabilirsiniz; örneğin, verileri Dizilerden, Nesne Listelerinden ve hatta doğrudan JSON ve CSV’den Excel belgelerine programlı olarak aktarabilirsiniz. Bu yazıda kolay ve basit teknikleri tartışacağız ve Java kullanarak verileri Excel’e nasıl aktaracağınızı öğreneceksiniz.

Bu makalede aşağıdaki konular tartışılmaktadır/kapsanmaktadır:

Java Verilerini Excel Kitaplığına Aktarma

Verileri Excel’e aktarmak için Aspose.Cells for Java API kullanacağım. Java uygulamaları içinde Excel dosyaları oluşturmanıza, düzenlemenize veya dönüştürmenize olanak tanıyan güçlü bir elektronik tablo işleme API’sidir. API, Microsoft Excel uygulamasına ihtiyaç duymadan Excel otomasyon özelliklerini programlı olarak gerçekleştirmenizi sağlar.

Aşağıda belirtilen kod örneklerini denemek için API’nin JAR’ını indirebilir veya yalnızca aşağıdaki pom.xml yapılandırmasını Maven tabanlı Java uygulamanıza ekleyebilirsiniz.

<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.8</version>
</dependency>

Diziyi Java’da Excel’e Aktarma

Tek boyutlu bir diziden veya iki boyutlu bir diziden verileri kolayca bir Excel belgesine aktarabilirsiniz. Dizi bir referans tipinde veya bir değer tipinde olabilir. Aşağıda belirtilen basit adımları izleyerek bir dizideki verileri Excel’e aktarabilirsiniz:

  1. Workbook sınıfının bir örneğini oluşturun
  2. Worksheet sınıfının bir örneğindeki çalışma sayfasını alın
  3. Dize değerlerini içeren bir dizi oluşturun
  4. Diziyle importArray() yöntemini çağırın
  5. Workbook sınıfının save() yöntemini çağırarak çıktı dosyasını kaydedin.

Aşağıdaki kod örneği, Java kullanarak bir dize dizisinin Excel’e nasıl aktarılacağını gösterir.

// Bir Çalışma Kitabı nesnesini başlat
Workbook workbook = new Workbook();

// Çalışma sayfasının referansını alma
Worksheet worksheet = workbook.getWorksheets().get(0);

// Adları dize değerleri olarak içeren bir dizi oluşturma
String[] names = new String[] { "Laurence Chen", "Roman Korchagin", "Kyle Huang" };

// Ad dizisini dikey olarak ilk satıra ve ilk sütuna aktarma
worksheet.getCells().importArray(names, 0, 0, true);

// Excel dosyasını kaydetme
workbook.save("C:\\Files\\output.xlsx");
Diziyi Java'da Excel'e Aktarma

Diziyi Java’da Excel’e Aktarma

API’nin Workbook sınıfı, bir Excel elektronik tablosu oluşturmak için kullanılan ana sınıftır. Yerel excel dosyalarını açma ve kaydetme işlevselliği sağlar. Bu sınıfın save() yöntemi, çıktı dosyasını belirtilen dosya yoluna kaydetmek için kullanılır.

Worksheet sınıfı tek bir çalışma sayfasını temsil eder ve hücreler ve satırlarla çalışma işlevselliği sağlar.

Cells sınıfının importArray() yöntemi, bir dizi dizeyi bir çalışma sayfasına aktarır. Aşağıdaki giriş parametrelerini alır:

  • stringArray: String değerlerinin dizisi
  • FirstRow: Dışa aktarılacak ilk hücrenin satır numarası
  • FirstColumn: Dışa aktarılacak ilk hücrenin sütun numarası
  • isVertical: Verilerin dikey mi yatay mı dışa aktarılacağını belirtir

API ayrıca bir tamsayı veya çift dizisini bir çalışma sayfasına aktarmak için importArray() yönteminin aşırı yüklenmiş sürümlerini de sağlar.

İki Boyutlu Diziyi Excel’e Aktarma

Benzer şekilde, iki boyutlu bir diziyi bir Excel dosyasına aktarabilirsiniz. Aşağıdaki kod örneği, iki boyutlu bir dizinin Java’da bir Excel dosyasına nasıl aktarılacağını gösterir.

// Bir Çalışma Kitabı nesnesini başlat
Workbook workbook = new Workbook();

// Çalışma sayfasının referansını alma
Worksheet worksheet = workbook.getWorksheets().get(0);

// İki boyutlu bir tamsayı dizisi oluşturma
int[][] array2D = { 
  { 1, 2 }, 
  { 3, 4 }, 
  { 5, 6 }, 
  { 7, 8 } 
};

// Ad dizisini dikey olarak ilk satıra ve ilk sütuna aktarma
worksheet.getCells().importArray(array2D, 0, 0);

// Excel dosyasını kaydetme
workbook.save("C:\\Files\\output.xlsx");
İki Boyutlu Diziyi Excel'e Aktarma

İki Boyutlu Diziyi Excel’e Aktarma

Cells sınıfı, iki boyutlu bir tamsayı dizisini bir çalışma sayfasına aktarmak için importArray() yöntemini sağlar. API aynı zamanda iki boyutlu bir dize dizisini veya çiftini bir çalışma sayfasına aktarmak için bu yöntemin aşırı yüklenmiş sürümlerini de sağlar.

ArrayList’i Java’da Excel’e aktarın

Aşağıda belirtilen adımları izleyerek verileri ArrayList’ten Excel’e aktarabilirsiniz:

  1. Workbook sınıfının bir örneğini oluşturun
  2. Worksheet sınıfının bir örneğindeki çalışma sayfasını alın
  3. Dize değerlerini içeren bir dizi listesi oluşturun
  4. Dizi listesiyle importArrayList() yöntemini çağırın
  5. Workbook sınıfının save() yöntemini çağırarak çıktı dosyasını kaydedin.

Aşağıdaki kod örneği, ArrayList’in Java’da Excel’e nasıl aktarılacağını gösterir.

// Bir Çalışma Kitabı nesnesini başlat
Workbook workbook = new Workbook();

// Çalışma sayfasının referansını alma
Worksheet worksheet = workbook.getWorksheets().get(0);

// ArrayList nesnesini örneklendirmek
ArrayList<String> list = new ArrayList<String>();

// Listeye dize değerleri olarak birkaç ad ekleyin
list.add("Laurence Chen");
list.add("Roman Korchagin");
list.add("Kyle Huang");
list.add("Tommy Wang");

// ArrayList içeriğini çalışma sayfasının ilk satırında ve ilk sütununda dikey olarak dışa aktarma. 
worksheet.getCells().importArrayList(list, 0, 0, true);

// Excel dosyasını kaydetme
workbook.save("C:\\Files\\Output.xlsx");
Dizi Listesini Java'da Excel'e Aktarma

ArrayList’i Java’da Excel’e aktarın

Cells sınıfının importArrayList() yöntemi, ArrayList verilerini bir çalışma sayfasına aktarır. Verilerin ArrayList’i de dahil olmak üzere dört parametre alır. Diğer parametreler, FirstRow, FirstColumn ve isVertical’dır.

Özel Nesnelerin Koleksiyonunu Java’da Excel’e Aktarma

Aşağıda belirtilen adımları izleyerek verileri bir özel nesne koleksiyonundan Excel’e aktarabilirsiniz:

  1. Workbook sınıfının bir örneğini oluşturun
  2. Worksheet sınıfının bir örneğindeki çalışma sayfasını alın
  3. Özel nesnelerin dizi listesini oluşturma
  4. Dizi listesiyle importCustomObjects() yöntemini çağırın
  5. Workbook sınıfının save() yöntemini çağırarak çıktı dosyasını kaydedin.

Aşağıdaki kod örneği, özel nesneler koleksiyonunun Java’da Excel’e nasıl aktarılacağını gösterir.

// Yeni bir Çalışma Kitabı başlat
Workbook book = new Workbook();

// Çalışma sayfasının referansını alma
Worksheet sheet = book.getWorksheets().get(0);

// Kişilerin ArrayList'ini Tanımlayın
List<Person> list = new ArrayList<Person>();

list.add(new Person("Mike", 25, "Software Engineer"));
list.add(new Person("Steve", 30, "Doctor"));
list.add(new Person("Billy", 35, "Teacher"));

// Çalışma sayfasına aktarmak için hepsini değil, yalnızca Ad ve Yaş sütunlarını seçiyoruz         
sheet.getCells().importCustomObjects((Collection)list,
    new String[] { "Name", "Age" }, // propertyNames
    true, // isPropertyNameShown
    0, // firstRow
    0, // firstColumn
    list.size(), // Number of objects to be exported
    true, // insertRows
    null, // dateFormatString
    false); // convertStringToNumber

// Excel dosyasını kaydedin
book.save("C:\\Files\\Output.xlsx");
Java'da Excel'e Özel Nesnelerin Toplanması

Java’da Excel’e Özel Nesnelerin Toplanması

Cells sınıfının importCustomObjects() yöntemi, özel nesnelerin bir listesini dışa aktarır ve aşağıdaki parametreleri alır. API ayrıca bu yöntemin daha az parametre alan aşırı yüklenmiş sürümünü de sağlar.

  • liste: Özel nesnelerin koleksiyonu
  • propertyName: Dışa aktarılacak belirli bir özelliğin adını belirtin. Eğer null ise nesnenin tüm özelliklerini dışa aktaracaktır.
  • isPropertyNameShown: Özellik adının ilk satıra aktarılıp aktarılmayacağını belirtir
  • FirstRow: Dışa aktarılacak ilk hücrenin satır numarası
  • FirstColumn: Dışa aktarılacak ilk hücrenin sütun numarası
  • rowNumber: Dışa aktarılacak satır sayısı
  • insertRows: Verileri sığdırmak için fazladan satırların eklenip eklenmeyeceğini belirtir
  • dataFormatString: Hücreler için tarih biçimi dizesi
  • ConvertStringToNumber: Bu yöntemin dizeyi sayıya dönüştürmeye çalışıp çalışmayacağını belirtir.

Java’da Birleştirilmiş Hücrelerle Verileri Excel’e Aktarma

Aşağıda belirtilen adımları izleyerek, bir nesne koleksiyonundan verileri birleştirilmiş hücreleri içeren bir çalışma sayfasına aktarabilirsiniz:

  1. Workbook sınıfının bir örneğini oluşturun with template file path
  2. Worksheet sınıfının bir örneğindeki çalışma sayfasını alın
  3. Nesnelerin dizi listesini oluşturma
  4. ImportTableOptions sınıfının bir örneğini oluşturun
  5. Dizi listesiyle importCustomObjects() yöntemini çağırın
  6. Workbook sınıfının save() yöntemini çağırarak çıktı dosyasını kaydedin.

Aşağıdaki kod örneği, özel nesneler koleksiyonunun Java’da birleştirilmiş hücreler içeren bir Excel çalışma sayfasına nasıl aktarılacağını gösterir.

// Mevcut bir Çalışma Kitabının açılması.
Workbook workbook = new Workbook("C:\\Files\\SampleMergedTemplate.xlsx");

// Çalışma sayfasının referansını alma
Worksheet sheet = workbook.getWorksheets().get(0);

// ArrayList nesnesini örneklendirmek
List<Product> productList = new ArrayList<Product>();

// Ürün koleksiyonu oluşturma
for (int i = 0; i < 3; i++)
{
  Product product = new Product(i, "Product - " + i);
    productList.add(product);
}

// Tablo içe aktarma seçeneklerini tanımlayın
ImportTableOptions tableOptions = new ImportTableOptions();

// CheckMergedCells özelliğini true olarak ayarlayın
tableOptions.setCheckMergedCells(true);
tableOptions.setFieldNameShown(false);

// Verileri excel şablonuna aktarın (ikinci satırda, ilk sütunda)           
sheet.getCells().importCustomObjects((Collection)productList, 1, 0, tableOptions);

// Excel dosyasını kaydedin
workbook.save("C:\\Files\\Output.xlsx", SaveFormat.XLSX);
Java'da Birleştirilmiş Hücrelerle Verileri Excel'e Aktarma

Java’da Birleştirilmiş Hücrelerle Verileri Excel’e Aktarma

ImportTableOptions sınıfı, verileri hücrelere aktarmak için çeşitli seçenekler sunar. setCheckMergedCells, birleştirilmiş hücrelerin kontrol edilip edilmediğini gösterir. setFieldNameShown özelliği, alan adının dışa aktarılıp aktarılmayacağını belirtir.

Java’da Satırları ve Sütunları bir Excel dosyasından diğerine kopyalama

Aşağıda belirtilen adımları izleyerek satırları ve sütunları bir Excel dosyasından başka bir dosyaya programlı olarak kolayca kopyalayabilirsiniz:

  1. Workbook sınıfının bir örneğini oluşturun with source workbook input file
  2. Hedef çalışma kitabı için Workbook sınıfının bir örneğini oluşturun
  3. Kaynak ve hedef çalışma sayfalarını Worksheet sınıfının ayrı örneklerinde alın
  4. Hedef çalışma sayfasının copyRows() yöntemini kaynak çalışma sayfası hücreleriyle çağırın
  5. Workbook sınıfının save() yöntemini çağırarak hedef çalışma kitabı çıktı dosyasını kaydedin.

Aşağıdaki kod örneği, Java kullanarak satır ve sütunların bir Excel dosyasından diğerine nasıl kopyalanacağını gösterir.

// Kaynak excel dosyasını açın.
Workbook srcWorkbook = new Workbook("C:\\Files\\Source_Workbook.xlsx");

// Hedef excel dosyasının örneğini oluşturun.
Workbook destWorkbook = new Workbook();

// Kaynak çalışma kitabının ilk çalışma sayfasını alın.
Worksheet srcWorksheet = srcWorkbook.getWorksheets().get(0);

// Hedef çalışma kitabının ilk çalışma sayfasını alın.
Worksheet desWorksheet = destWorkbook.getWorksheets().get(0);

// Kaynak Çalışma Kitabının ilk çalışma sayfasının tüm satırlarını şuraya kopyalayın:
// Hedef Çalışma Kitabının ilk çalışma sayfası.
desWorksheet.getCells().copyRows(srcWorksheet.getCells(), 0, 0, srcWorksheet.getCells().getMaxDisplayRange().getRowCount());

// Excel dosyasını kaydedin.
destWorkbook.save("C:\\Files\\Destination_Workbook.xlsx");	
Java'da Satırları ve Sütunları bir Excel dosyasından diğerine kopyalama

Java’da Satırları ve Sütunları bir Excel dosyasından diğerine kopyalama

Belirli satırları bir Excel dosyasından diğerine kopyalayabilirsiniz. Aşağıdaki kod örneği, Java kullanarak belirli satırların bir Excel dosyasından diğerine nasıl kopyalanacağını gösterir.

// Kaynak excel dosyasını açın.
Workbook srcWorkbook = new Workbook("C:\\Files\\Source_Workbook.xlsx");

// Hedef excel dosyasının örneğini oluşturun.
Workbook destWorkbook = new Workbook();

// Kaynak çalışma kitabının ilk çalışma sayfasını alın.
Worksheet srcWorksheet = srcWorkbook.getWorksheets().get(0);

// Hedef çalışma kitabının ilk çalışma sayfasını alın.
Worksheet desWorksheet = destWorkbook.getWorksheets().get(0);

// Kaynak Çalışma Kitabının ikinci satırını hedef Çalışma Kitabının ilk satırına kopyalayın.
desWorksheet.getCells().copyRow(srcWorksheet.getCells(), 1, 0);

// Kaynak Çalışma Kitabının dördüncü satırını hedef Çalışma Kitabının ikinci satırına kopyalayın.
desWorksheet.getCells().copyRow(srcWorksheet.getCells(), 3, 1);

// Excel dosyasını kaydedin.
destWorkbook.save("C:\\Files\\Destination_Workbook.xlsx");
Java'da Belirli Satırları ve Sütunları bir Excel dosyasından diğerine kopyalama

Java’da Belirli Satırları ve Sütunları bir Excel dosyasından diğerine kopyalama

copyRows() yöntemi, tüm satırların verilerini ve formatlarını kopyalar. Kaynak satır dizini, hedef satır dizini ve kopyalanan satır numarasıyla birlikte kaynak çalışma sayfası hücrelerinin giriş parametreleri olarak kopyalanması gerekir. API aynı zamanda satırları CopyOptions ve PasteOptions ile kopyalamak için bu yöntemin aşırı yüklenmiş sürümlerini de sağlar.

Benzer şekilde, copyColumn() veya copyColumns() yöntemlerini kullanarak sütun verilerini bir Microsoft Excel belgesinden diğerine kopyalayabilirsiniz.

JSON Verilerini Java’da Excel’e Aktarma

Aşağıda belirtilen adımları izleyerek verileri bir JSON dosyasından Excel’e kolayca aktarabilirsiniz:

  1. Workbook sınıfının bir örneğini oluşturun
  2. Worksheet sınıfının bir örneğindeki çalışma sayfasını alın
  3. JSON dosyasını okuyun
  4. CellsFactory sınıfının bir örneğini oluşturun
  5. createStyle() yöntemini çağırarak stili başlatın
  6. Yatay Hizalama, Yazı Tipi rengi vb. gibi çeşitli stil özelliklerini ayarlayın.
  7. JsonLayoutOptions sınıfının bir örneğini oluşturun
  8. Başlık stilini stil nesnesiyle ayarlayın
  9. Diziyi tablo özelliği olarak true olarak ayarla
  10. JSON girişi ve JsonLayoutOptions ile JsonUtility.importData() yöntemini çağırın
  11. Workbook sınıfının save() yöntemini çağırarak çıktı dosyasını kaydedin.

Aşağıdaki kod örneği, Java kullanarak JSON dosyasındaki verilerin Excel’e nasıl aktarılacağını gösterir.

// Bir Çalışma Kitabı nesnesinin örneğini oluşturma
Workbook workbook = new Workbook();
Worksheet worksheet = workbook.getWorksheets().get(0);

// JSON dosyasını oku
File file = new File("C:\\Files\\sample.json");
BufferedReader bufferedReader = new BufferedReader(new FileReader(file));
    String jsonInput = "";
    String tempString;
    while ((tempString = bufferedReader.readLine()) != null) {
      jsonInput = jsonInput + tempString; 
    }
    bufferedReader.close();

// Stilleri Ayarla
CellsFactory factory = new CellsFactory();
Style style = factory.createStyle();
style.setHorizontalAlignment(TextAlignmentType.CENTER);
style.getFont().setColor(Color.getCyan());
style.getFont().setBold(true);

// JsonLayoutOptions'ı ayarlayın
JsonLayoutOptions options = new JsonLayoutOptions();
options.setTitleStyle(style);
options.setArrayAsTable(true);

// JSON Verilerini Dışa Aktar
JsonUtility.importData(jsonInput, worksheet.getCells(), 0, 0, options);

// Excel dosyasını kaydet
workbook.save("C:\\Files\\Output.xlsx");
{
  "quiz": {
    "sport": {
      "q1": {
        "question": "Which one is correct team name in NBA?",
        "answer": "Huston Rocket"
      }
    },
    "maths": {
      "q1": {
        "question": "5 + 7 = ?",
        "answer": "12"
      },
      "q2": {
        "question": "12 - 8 = ?",
        "answer": "4"
      }
    }
  }
}
JSON Verilerini Java'da Excel'e Aktarma

JSON Verilerini Java’da Excel’e Aktarma

CellsFactory sınıfı, Hücre modelinin sınıflarını başlatır. Bu sınıfın createStyle() yöntemi, Style sınıfının yeni bir stil nesnesini oluşturur. Style sınıfı, yazı tipi, renk, hizalama, kenarlık vb. gibi Excel belgesinin görüntüleme stilinin ayarlanmasına olanak tanır.

JsonLayoutOptions sınıfı, JSON düzen türünün seçeneklerini sağlar. Bu sınıfın setTitleStyle yöntemi, başlığın tanımlanmış stilini ayarlamak için kullanılır. setArrayAsTable yöntemi, Array öğesinin tablo olarak işlenmesine olanak tanır.

API, JSON’u işlemek için JsonUtility sınıfını sağlar. Bu sınıfın importData() yöntemi JSON dizesini dışa aktarır ve aşağıdaki parametreleri alır:

  • json: JSON dizesi
  • hücreler: Hücreler
  • satır: Satır dizini
  • sütun: Sütun dizini
  • seçenek: JSON dizesini dışa aktarma seçenekleri

Java kullanarak Excel’de CSV Verilerini alın

Aşağıda belirtilen basit adımları izleyerek verileri bir CSV dosyasından Excel’e aktarabilirsiniz:

  1. LoadFormat ile LoadOptions sınıfının bir örneğini oluşturun
  2. CSV dosya yolu ve LoadOptions nesnesiyle Workbook sınıfının bir örneğini oluşturun
  3. Workbook sınıfının save() yöntemini çağırın ve çıktı dosyasını kaydedin

Aşağıdaki kod örneği, Java kullanarak CSV dosyasındaki verilerin Excel’e nasıl aktarılacağını gösterir.

// LoadOptions'ı CSV LoadFormat ile başlatın.
LoadOptions loadOptions = new LoadOptions(LoadFormat.CSV);

// CSV dosyasını Çalışma Kitabı nesnesi olarak açın
Workbook workbook = new Workbook("C:\\Files\\Sample.csv", loadOptions);

// Dosyayı Excel Belgesi olarak kaydedin
workbook.save("C:\\Files\\Output.xlsx");
id,language,edition,author,streetAddress,city,state,postalCode
01,Java,third,Herbert Schildt,126,San Jone,CA,394221
02,C++,second,EAAAA,126,San Jone,CA,394221
03,.Net,second,E.Balagurusamy,126,San Jone,CA,394221
CSV Verilerini Java'da Excel'e Aktarma

CSV Verilerini Java’da Excel’e Aktarma

API’nin LoadOptions sınıfı, dosyayı yüklemek için seçenekler sağlar. LoadFormat sınıfı, yükleme dosyası formatlarını temsil eden sabitleri içerir.

Ücretsiz Lisans Alın

Ücretsiz bir geçici lisans talep ederek API’yi değerlendirme sınırlamaları olmadan deneyebilirsiniz.

Çözüm

Bu makalede, birden çok yolu kullanarak verileri Java’da Excel’e nasıl aktaracağınızı öğrendiniz. Diziler, JSON veya CSV dosyalarından verilerin programlı olarak Excel’e nasıl aktarılacağını açıkladık. Ayrıca, Java kullanarak satır ve sütunları bir Excel dosyasından başka bir dosyaya nasıl kopyalayacağınızı öğrendiniz. Aspose.Cells for Java API hakkında daha fazla bilgiyi belgeleri kullanarak edinebilirsiniz. Herhangi bir belirsizlik durumunda lütfen forum üzerinden bizimle iletişime geçmekten çekinmeyin.

Ayrıca bakınız

Sıkça Sorulan Sorular

Veriler Java’da bir XLSX dosyasına nasıl aktarılır? Java uygulamanıza entegrasyonu kolay Aspose.Cells for Java API’yi kullanarak Diziler, Nesneler Koleksiyonu, JSON ve CSV’deki verileri kolayca bir XLSX dosyasına aktarabilirsiniz.

Verileri JSON’dan Excel’e nasıl aktarırım? Aspose.Cells API, JsonUtility’nin JSON dosyasındaki verileri Java’da Excel’e aktarmasını sağlar. JSON Verilerini Java’da Excel’e Aktar bölümünün altında basit adımları bulabilirsiniz.

Verileri CSV’den Java’da Excel’e nasıl aktarırım? Aspose.Cells API’yi kullanarak bir CSV dosyasını kolayca yükleyebilir ve XLSX olarak kaydedebilirsiniz. Java kullanarak Excel’de CSV Verileri Alma bölümünün altında basit adımları bulabilirsiniz.