Excel (XLS, XLSX) ve PDF dosyaları hemen hemen her işletmede yaygın olarak kullanılan belge formatlarındandır. Bu tür yaygın olarak kullanılan dosyalar için, bir dosyayı başka bir biçime dönüştürmemiz gereken birçok senaryo vardır. Bu yazıda, .NET uygulamalarıyla C# kullanarak Excel elektronik tablolarını PDF formatına dönüştürmenin farklı yollarını öğreneceğiz.

C# kullanarak Excel Elektronik Tablosunu PDF'ye dönüştürün

Excel Dosyalarını PDF’e Dönüştürmek için .NET API

GroupDocs.Conversion, Excel dosyalarının .NET uygulamalarında PDF biçimine dönüştürülmesine izin veren API’ler sağlar. Bu makalede, Excel XLS/XLSX dosya verilerini PDF formatına dönüştürmek için GroupDocs.Conversion for .NET kullanacağız. Ayrıca API, belgelerde bahsedilen kelime işlemci belgeleri, elektronik tablolar, sunumlar, e-Kitaplar, resimler vb. gibi diğer birçok dosya biçiminin dönüştürülmesini destekler.

İndirmeler bölümünden DLL’leri veya MSI yükleyicisini indirebilir veya NuGet yoluyla .NET uygulamanıza API’yi yükleyebilirsiniz.

PM> Install-Package GroupDocs.Conversion

Excel Sayfalarını PDF’ye Dönüştür - C#

Aşağıdaki adımlar, tüm çalışma kitabını (tüm sayfalar) C# kullanarak PDF formatına dönüştürür.

Aşağıda, tüm Excel çalışma kitabının .NET uygulaması içinde PDF’ye nasıl dönüştürüleceğine ilişkin C# kaynak kodu yer almaktadır.

/*
 * C# kullanarak tüm Excel sayfalarını PDF biçimine dönüştürün
 */
// Kaynak XLSX dosyası için Yükleme seçeneklerini ve Aralığı hazırlayın
Func<LoadOptions> loadOptions =() => new SpreadsheetLoadOptions
{
    OnePagePerSheet = true
};
using (var converter = new GroupDocs.Conversion.Converter(@"path/spreadsheet.xlsx", loadOptions))
{
    // Elektronik tabloyu PDF biçiminde dönüştürün ve kaydedin
    converter.Convert(@"path/all-sheets-converted.pdf", new PdfConvertOptions());
}
PDF'yi Excel Verilerinden Dönüştür

Excel Sayfalarını PDF’ye Dönüştürme Sırası - C#

Çalışma kitabının tamamını dönüştürmek her zaman gerekli değildir. Ardışık herhangi bir sayıda sayfayı da dönüştürebiliriz. Aşağıda, Excel çalışma kitabı sayfalarının herhangi bir alt dizisini C# kullanarak PDF biçimine dönüştürme adımları yer almaktadır.

  • Dönüştürücüyü kullanarak Excel dosyasını yükleyin.
  • PdfConvertOptions kullanarak dönüştürme seçeneklerini tanımlayın.
  • Sırayla başlangıç sayfası numarasını ve diğer sayfaların sayısını ayarlayın.
  • Sayfaların alt kümesini sırayla PDF biçiminde kaydetmek için dönüştürme seçenekleriyle Convert() yöntemini çağırın.

Aşağıda sıralı sayfaları, yani sayfa numaraları 2,3 ve 4’ü .NET uygulaması içinde PDF’ye dönüştüren C# kaynak kodu verilmiştir.

/*
 * C# kullanarak Excel sayfa dizisini PDF formatına dönüştürün
 */
using (var converter = new GroupDocs.Conversion.Converter(@"path/spreadsheet.xlsx"))
{
    // Başlangıç sayfa numarasını ve ardışık sayfa sayısını ayarlayın
    var convertOptions = new PdfConvertOptions()
    {
        PageNumber = 2,
        PagesCount = 3
    };
    // Elektronik tabloyu PDF biçiminde dönüştürün ve kaydedin
    converter.Convert(@"path/sequential-sheets-converted.pdf", convertOptions);
}

Belirli Excel Sayfalarını PDF’ye Dönüştürme - C#

Belirli sayfaların dönüştürülmesi için sayfa numaralarının listesini basitçe sağlayabiliriz. Aşağıda, herhangi bir belirli sayfa numarası listesinin C# kullanarak PDF formatına nasıl dönüştürüleceğine ilişkin adımlar yer almaktadır.

  • Dönüştürücüyü kullanarak elektronik tablo dosyasını yükleyin.
  • Sayfa numaralarını seçin ve PdfConvertOptions kullanarak liste olarak ayarlayın.
  • Listelenen sayfaları PDF biçimine dönüştürmek için dönüştürme seçenekleriyle Convert() yöntemini çağırın.

Aşağıdaki C# kod parçacığı, 1, 3 ve 5 numaralı sayfa numaralarını .NET uygulamasında PDF’ye dönüştürür.

/*
 * Belirtilen Excel sayfaları listesini C# kullanarak PDF formatına dönüştürün
 */
using (var converter = new GroupDocs.Conversion.Converter(@"path/spreadsheet.xlsx"))
{
    // Listeyi dönüştürme sırasında sayfa numaralarına ayarlayın
    var convertOptions = new PdfConvertOptions()
    {
        Pages = new System.Collections.Generic.List<int> { 1,3,5}
    };
    // Elektronik tabloyu PDF formatına dönüştürün ve kaydedin
    converter.Convert(@"path/selected-sheets-conversion.pdf", convertOptions);
}

Excel Sayfasının Seçili Hücre Aralığını PDF’ye Dönüştür - C#

Son olarak, aslında en zor olanı, Excel sayfalarının herhangi bir hücre aralığını diğer yaklaşımlara neredeyse benzer bir şekilde dönüştürebiliriz. Aşağıda, çalışma kitabı sayfalarının herhangi bir hücre aralığını C# kullanarak PDF biçimine dönüştürme adımları yer almaktadır.

  • Öncelikle, SpreadsheetLoadOptions kullanarak dönüştürme için hücre aralığını tanımlayın.
  • Dönüştürücüyü kullanarak elektronik tablo dosyasını yükleyin.
  • Sayfaları, tam sayfa numaralarına göre veya PdfConvertOptions kullanarak alt diziye göre seçin.
  • Seçilen sayfaların seçilen hücre aralığını PDF formatına dönüştürmek için dönüştürme seçenekleriyle Convert() yöntemini çağırın.

Aşağıdaki kod, sayfa numaraları 2, 3 ve 4’ün hücre aralığını (A1:C20) C# kullanarak PDF formatına dönüştürür.

/*
 * Belirtilen Excel sayfalarının belirtilen Hücre Aralığını C# kullanarak PDF formatına dönüştürün
 */
// Kaynak XLSX dosyası için Yükleme seçeneklerini ve Aralığı hazırlayın
Func<LoadOptions> loadOptions =() => new SpreadsheetLoadOptions
{
    ConvertRange = "A1:C20"
};
using (var converter = new Converter(@"path/spreadsheet.xlsx", loadOptions))
{
    var convertOptions = new PdfConvertOptions()
    {
        PageNumber = 2,
        PagesCount = 3
        // Sayfalar = yeni System.Collections.Generic.List<int> { 2,3,4}
    };
    // Dönüştürmeden sonra PDF olarak kaydet
    converter.Convert(@"path/cell-range-converted.pdf", convertOptions);
}

Çözüm

Sonuç olarak, C# kullanarak Excel elektronik tablolarını PDF formatına dönüştürmenin farklı yollarını öğrendik. İlk olarak, çalışma kitabının tamamını PDF formatına dönüştürmeye çalıştık, ardından sayfaların alt dizisini dönüştürdük. Daha sonra, tam sayfa numaralarının listesini sağlayarak herhangi bir sayfayı/tabloları nasıl dönüştüreceğimizi öğrendik ve son olarak, seçilen sayfa(lar)ın seçilen hücre aralığından PDF dosyasını elde ettik.

Belgelerden GroupDocs.Conversion API’leri hakkında daha fazla bilgi edinin. Sorularınız için forum aracılığıyla bize ulaşın.

Ayrıca bakınız