Düz metin verilerini yapılandırılmış bir Excel çalışma kitabına dönüştürmek, bilgi analiz etmesi veya paylaşması gereken Java geliştiricileri için sık bir görevdir. Conholdate.Total for Java güçlü bir SDK’dır ve Java iş akışında herhangi bir sunucu veya masaüstü ortamında TXT dosyalarını XLSX formatına dönüştürmeyi basitleştirir. Bu rehberde kütüphaneyi nasıl kuracağınızı, her kod adımını nasıl geçeceğinizi, dönüşüm seçeneklerini nasıl keşfedeceğinizi ve büyük dosyaları verimli bir şekilde işlemek için performans ipuçlarını nasıl uygulayacağınızı öğreneceksiniz.

Başlamadan Önce: Önkoşullar ve Kurulum

Bu öğreticiyi takip etmek için şunlara ihtiyacınız var:

  • Java Development Kit 8 veya üzeri
  • IntelliJ IDEA veya Eclipse gibi bir IDE
  • Bağımlılık yönetimi için Maven
  • SDK öğelerini indirmek için internete erişim

Conholdate Maven deposunu ve SDK bağımlılığını pom.xml dosyanıza ekleyin:

<repositories>
  <repository>
    <id>conholdate-repo</id>
    <name>Conholdate Maven Repository</name>
    <url>https://repository.conholdate.com/repo/</url>
  </repository>
</repositories>

<dependency>
  <groupId>com.conholdate</groupId>
  <artifactId>conholdate-total</artifactId>
  <version>24.9</version>
  <type>pom</type>
</dependency>

Resmi sayfadan en son SDK paketini indirin: İndirin Conholdate.Total for Java. Bağımlılık çözüldükten sonra kodlamaya başlayabilirsiniz. Sonraki bölüm, uygulamayı adım adım gösterir.

Adım Adım Oluşturma: Java’da TXT’yi XLSX’e Dönüştürme

Adım 1: Giriş Dosyasının Mevcut Olduğunu Doğrula

İlk olarak, kaynak TXT dosyasının mevcut olduğundan emin olun. Kod, dosya yolunu kontrol eder ve dosya bulunamazsa işlemi durdurur.

String inputPath = "sample.txt";
File inputFile = new File(inputPath);
if (!inputFile.exists() || !inputFile.isFile()) {
    System.err.println("Input file not found: " + inputPath);
    return;
}

Adım 2: Dönüştürme Seçeneklerini Ayarlayın

SDK’nin TXT verilerini nasıl yorumlayacağını yapılandırın. Ayırıcıyı (sekme, virgül, noktalı virgül vb.) ayarlayabilir, orijinal biçimlendirmeyi koruyabilir ve büyük dosyalar için bellek önbelleklemesini etkinleştirebilirsiniz.

XlsxConvertOptions options = new XlsxConvertOptions();
options.setDelimiter('\t');               // Tab‑delimited example
options.setPreserveOriginalFormatting(true);
options.setEnableMemoryCache(true);

Daha fazla ayrıntı için, XlsxConvertOptions API referansı.

Adım 3: Dönüşümü Gerçekleştir

Giriş dosyasıyla bir Conversion örneği oluşturun ve XLSX çıktısını üretmek için convert metodunu çağırın.

String outputPath = "sample.xlsx";
try (Conversion conversion = new Conversion(inputFile)) {
    conversion.convert(outputPath, options);
} catch (ConversionException | IOException e) {
    System.err.println("Conversion failed: " + e.getMessage());
    e.printStackTrace();
    return;
}

Conversion sınıfı, sahne arkasında ağır işi halleder, TXT dosyasının her satırını elektronik tablo içinde satır ve sütunlara dönüştürür.

Adım 4: Çıktı Dosyasını Kontrol Et ve Sonucu Günlüğe Kaydet

Dönüştürmeden sonra, XLSX dosyasının oluşturulduğunu ve boş olmadığını doğrulayın.

File outputFile = new File(outputPath);
if (outputFile.exists() && outputFile.isFile() && outputFile.length() > 0) {
    System.out.println("Conversion succeeded. Output file: " + outputPath);
} else {
    System.err.println("Conversion completed but output file is missing or empty.");
}

Adım 5: Apache POI ile Hızlı Doğrulama

İsteğe bağlı olarak, oluşturulan çalışma kitabını okumak ve sayfa ve satır sayısını doğrulamak için Apache POI’yi kullanın.

try (XSSFWorkbook workbook = new XSSFWorkbook(Files.newInputStream(Paths.get(outputPath)))) {
    int sheetCount = workbook.getNumberOfSheets();
    System.out.println("Workbook contains " + sheetCount + " sheet(s).");
    if (sheetCount > 0) {
        Sheet sheet = workbook.getSheetAt(0);
        int rowCount = sheet.getPhysicalNumberOfRows();
        System.out.println("First sheet row count: " + rowCount);
    }
} catch (IOException ex) {
    System.err.println("Failed to read generated XLSX for validation: " + ex.getMessage());
}

Dönüştürme tamamlandığında, artık ek yapılandırma seçeneklerini keşfedebilir veya süreci toplu olarak birçok dosyayı dönüştürmek için ölçeklendirebilirsiniz.

Java’da TXT’yi XLSX’e Dönüştürmek için Tam Çalışan Örnek

Aşağıdaki kod, Conholdate.Total for Java kullanarak Java iş akışında TXT’den XLSX’e dönüştürmenin tam uygulamasını gösterir.

import com.groupdocs.conversion.Conversion;
import com.groupdocs.conversion.options.convert.XlsxConvertOptions;
import com.groupdocs.conversion.exceptions.ConversionException;

import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.poi.ss.usermodel.Sheet;

import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;

public class TxtToXlsxConverter {
    public static void main(String[] args) {
        // Input TXT file and desired XLSX output paths
        String inputPath = "sample.txt";
        String outputPath = "sample.xlsx";

// Verify that the input file exists
        File inputFile = new File(inputPath);
        if (!inputFile.exists() || !inputFile.isFile()) {
            System.err.println("Input file not found: " + inputPath);
            return;
        }

// Configure conversion options
        XxlsxConvertOptions options = new XlsxConvertOptions();
        // Set delimiter (tab, comma, semicolon, etc.). Here we use tab.
        options.setDelimiter('\t');
        // Preserve original formatting where possible
        options.setPreserveOriginalFormatting(true);
        // Enable memory cache to improve performance on large files
        options.setEnableMemoryCache(true);

// Perform the conversion
        try (Conversion conversion = new Conversion(inputFile)) {
            conversion.convert(outputPath, options);
        } catch (ConversionException | IOException e) {
            System.err.println("Conversion failed: " + e.getMessage());
            e.printStackTrace();
            return;
        }

// Validate that the XLSX file was created and is not empty
        File outputFile = new File(outputPath);
        if (outputFile.exists() && outputFile.isFile() && outputFile.length() > 0) {
            System.out.println("Conversion succeeded. Output file: " + outputPath);

// Optional quick validation using Apache POI
            try (XSSFWorkbook workbook = new XSSFWorkbook(Files.newInputStream(Paths.get(outputPath)))) {
                int sheetCount = workbook.getNumberOfSheets();
                System.out.println("Workbook contains " + sheetCount + " sheet(s).");
                if (sheetCount > 0) {
                    Sheet sheet = workbook.getSheetAt(0);
                    int rowCount = sheet.getPhysicalNumberOfRows();
                    System.out.println("First sheet row count: " + rowCount);
                }
            } catch (IOException ex) {
                System.err.println("Failed to read generated XLSX for validation: " + ex.getMessage());
            }
        } else {
            System.err.println("Conversion completed but output file is missing or empty.");
        }
    }
}

Not: Bu kod örneği temel işlevselliği gösterir. Projenizde kullanmadan önce, dosya yollarını ve yapılandırma değerlerini gerçek ortamınıza uygun şekilde güncellediğinizden, tüm gerekli bağımlılıkların doğru şekilde yüklendiğinden emin olun ve geliştirme ortamınızda kapsamlı bir şekilde test edin. Herhangi bir sorunla karşılaşırsanız, lütfen resmi dokümantasyona bakın veya destek ekibi ile iletişime geçin.

Dönüştürme Seçeneklerini Yapılandırma

SDK, dönüşüm sürecini ince ayar yapmanıza olanak tanıyan çeşitli seçenekler sunar:

  • Delimiter - SDK’nin TXT dosyasının her satırını sütunlara nasıl böldüğünü belirler. Örnekte bir sekme karakteri ('\t') kullanılır. Bunu bir virgül (',') veya kaynak verinizle eşleşen başka bir karaktere değiştirebilirsiniz.
  • PreserveOriginalFormatting - true olarak ayarlandığında, SDK sonuç XLSX hücrelerinde orijinal metin biçimlendirmesini (örneğin kalın veya italik) korumaya çalışır.
  • EnableMemoryCache - Bu bayrağın etkinleştirilmesi, ara verileri bellekte önbelleğe alarak büyük dosyalar için performansı artırır.

Bu seçenekler, yukarıdaki adım‑adım bölümde gösterildiği gibi XlsxConvertOptions nesnesi aracılığıyla yapılandırılır.

Dönüştürme Performansını Optimize Etme

Büyük TXT dosyalarını dönüştürürken aşağıdaki ipuçlarını göz önünde bulundurun:

  1. Bellek Önbelleğini Etkinleştir - options.setEnableMemoryCache(true); disk I/O’yu azaltır ve işleme hızını artırır.
  2. Girişi Akış Olarak İşle - SDK, kaynak dosyayı akış biçiminde okur, ancak dönüştürmeden önce tüm dosyayı bir String içine yüklemekten kaçının.
  3. Dönüştürme Örneklerini Yeniden Kullan - Çok sayıda dosya dönüştürmeniz gerekiyorsa, her iş parçacığı için tek bir Conversion nesnesi oluşturun ve her dosya için yeniden kullanın; böylece nesne oluşturma yükünü en aza indirirsiniz.
  4. JVM Yığınını Ayarla - Çok büyük veri setleri için, OutOfMemoryError hatasını önlemek amacıyla JVM yığın boyutunu (-Xmx2g veya daha yüksek) artırın.

Bu uygulamaları benimsemek, Java’da TXT’den XLSX’e dönüştürme işleminin gigabayt‑boyutundaki kaynak dosyalarda bile hızlı ve bellek‑verimli kalmasını sağlar.

Sonuç

Artık Java’da Conholdate.Total for Java kullanarak TXT’yi XLSX’e nasıl dönüştüreceğinizi gördünüz. SDK, ayırıcı ayrıştırmasını, biçim korumasını ve bellek yönetimini ele alır ve Microsoft Office’e bağımlı olmadan profesyonel Excel çalışma kitapları oluşturmanıza olanak tanır. Üretim dağıtımları için uygun bir lisans almayı unutmayın; fiyatlandırma detaylarını fiyatlandırma sayfası adresinde inceleyebilir ve test için geçici bir lisans alabilirsiniz geçici lisans sayfası. Bu kılavuzdaki kod ve ipuçlarıyla, TXT‑to‑XLSX dönüşümünü herhangi bir Java uygulamasına entegre edebilir, toplu işleme otomasyonunu sağlayabilir ve son kullanıcıların kolayca manipüle edebileceği bir formatta veri sunabilirsiniz.

SSS

Java SDK’sını kullanarak TXT’yi XLSX’e nasıl dönüştürürüm?

Conversion sınıfını XlsxConvertOptions ile birlikte kullanın. İstenen ayırıcıyı ayarlayın, bellek önbelleğini etkinleştirin ve conversion.convert(outputPath, options) metodunu çağırın. Tam örnek, “Tam Çalışan Örnek” bölümünde sağlanmıştır.

Özelleştirilmiş ayrıştırma kodu yazmadan ayırıcıyla ayrılmış TXT dosyalarını XLSX’e dönüştürebilir miyim?

Evet. SDK’nın XlsxConvertOptions.setDelimiter yöntemi, ayırıcıyı (virgül, sekme, noktalı virgül vb.) belirtmenizi sağlar, böylece Java’da tek bir API çağrısıyla ayırıcıyla ayrılmış TXT dosyasını XLSX’e dönüştürebilirsiniz.

Tek bir TXT kaynağından çok sayfalı bir çalışma kitabı oluşturmak mümkün mü?

Temel örnek bir sayfa oluştururken, girdi verilerini programlı olarak bölüp her bir segment için ayrı dönüşümler çağırabilir ve ardından ortaya çıkan sayfaları Apache POI veya SDK’nın gelişmiş özelliklerini kullanarak çok sayfalı bir XLSX çalışma kitabına birleştirebilirsiniz.

Daha Fazla Oku