Altbilgi içeriğine atla
DIğER BILEşENLERLE KARşıLAşTıRıN

IronXL ile Syncfusion Excel Arasındaki Bir Karşılaştırma

Excel'i programatik olarak yönetmek geliştiriciler için zor olabilir. Microsoft Excel dosyalarını düzenlemeye çalışırken ortaya çıkan çeşitli sorunlar vardır. Ana sorunlar, kullanıcı arayüzü ile ilgili zorluklar ve dokümantasyon eksikliği, bir Excel dosyasını yönetmeyi zorlaştırır. Ama neyse ki, şimdi yetenekli programcılar tarafından yazılmış bazı Excel kütüphanelerine sahibiz. Bu kütüphaneler, Microsoft Excel dosya verilerini düzenlemeye yardımcı olur. Burada iki Excel C# kütüphanesini tartışacağım:

  • IronXL: C# Excel Kütüphanesi
  • Syncfusion Excel Framework

Bu kütüphanelerin karşılaştırılması ile başlayalım.

IronXL: C# Excel Kütüphanesi

IronXL, Iron Software tarafından geliştirilmiş, C# kodları içeren bir .NET Excel kütüphanesidir ve Excel belgelerini programatik olarak yönetmek için kullanılır. IronXL, .NET çerçevesi üzerine yazılmış olup, normalde Microsoft Excel'e ihtiyaç duyan uygulamaların geliştirilmesini basitleştirir.

IronXL, programcıya Excel çalışma kitabından/veriye okuma ve yazma, çalışma kitabı nesnelerini yönetme, harici veri kaynaklarına erişme ve veri yükleme işleri için bir dizi sınıf, yöntem ve özellik sağlar.

IronXL'nin özelliklerine bir göz atalım.

IronXL'nin Özellikleri

IronXL'yi diğer kütüphanelerden ayıran birçok özellik vardır.

Veriyi Yükle, Oku ve Düzenle

IronXL kullanarak XLS, XLSX, XLST, XLSM, CSV ve TSV gibi hesap tablosu belgelerinden veri yükleyebilir, okuyabilir ve düzenleyebiliriz. IronXL, bu hesap tablosu belgelerini oluşturmak, okumak ve düzenlemek için çok basit ve kolay hatırlanabilir işlevler sağlar. Belgeler üzerinde tam kontrol sağlar.

Grafikler Oluşturma

IronXL, kişiselleştirilmiş grafikler ile hesap tabloları oluşturmak için geniş bir fonksiyon çeşitliliğine sahiptir. Onlara destek sağlamak için iyi bir API dokümantasyonu bulunmaktadır.

Kaydetme ve Dışa Aktarma

IronXL, belgeleri birden fazla formatta kaydetme ve dışa aktarma için harikadır. IronXL, Excel dosyalarını XLS, XLSX, XLST, XLSM, CSV, TSV ve JSON dosya formatlarına dışa aktarma veya dönüştürme imkanı sağlar.

Formüllerle Çalışma

IronXL, Excel dosyalarında formüller ile çalışmayı destekler. İhtiyacımıza göre her hücreye herhangi bir formül oluşturabilir ve uygulayabiliriz. IronXL'nin, formüllerle çalışmamıza yardımcı olacak mükemmel ve basit fonksiyonları vardır.

Hücre Veri Formatları

Excel kullanıcıları genellikle Excel hücrelerinde formatlama kullanmaları gerekir. IronXL, gelişmiş koşullu formatlama özelliklerini destekler. IronXL, basit ve kullanımı kolay fonksiyonlarla hücre verilerini formatlamaya yardımcı olur. IronXL, Microsoft Excel'in desteklediği tüm formatları destekler. Verileri şu formatlarla formatlayabilirsiniz:

  • Metin
  • Sayı
  • Formüller
  • Tarihler
  • Para Birimi
  • Yüzdeler
  • Bilimsel
  • Zaman
  • Özel Formatlar

Hücre Stiline İşleme

Hücre stili, önemli verileri ayırt etmeye yardımcı olan Microsoft Excel'in önemli bir özelliğidir. Çok yararlıdır ve IronXL de bu özelliği destekler. IronXL fonksiyonları kullanarak yazı tipi stilini, yazı tipi boyutunu, arka plan desenini, kenarlık ve hizalamayı değiştirebilirsiniz.

Syncfusion Excel

Syncfusion kütüphanesi, Microsoft Excel (XLS) dosyalarını okuma, yazma ve yönetme için bir API sağlar. Syncfusion kütüphanesi, geliştiricilerin Microsoft Excel (XLS) dosyalarını okuma, yazma ve yönetme uygulamaları oluşturmak için kullanabileceği bir C# kütüphanesidir. Kişiselleştirilmiş veri ithalatı da desteklenmektedir. C# programlama dillerini destekleyen tüm işletim sistemleri ile uyumludur.

Syncfusion Excel Özellikleri

Syncfusion Excel kütüphanesinin özelliklerine bir göz atalım:

Bu kütüphanelerin nasıl çalıştığını inceleyelim. Çeşitli işlevsellikleri kontrol etmek için, önce bir C# projesi oluşturmalıyız. Öyleyse başlayalım.

1. Bir C# Projesi Oluşturma

Bu öğretici, Visual Studio 2019 sürümünü (en son sürüm önerilir) ve C# programlama dilini kullanarak bir proje geliştirecek.

  • Visual Studio 2019'u açın.
  • Yeni bir proje oluşturmak için "Oluştur"a tıklayın.
  • Şablonlardan C# Konsol Uygulamasını seçin ve İleri düğmesine tıklayın.

    Konsol Uygulaması Konsol Uygulaması

  • Projeye bir ad verin ve İleri düğmesine tıklayın.

    Proje Yapılandırması Proje Konfigürasyonu

  • .NET hedef çerçevesini >= 3.1 seçin çünkü 3.1 desteklenir ve her cihazda çalışır. .NET çerçevesinin en son ve en kararlı sürümü 5.0'dır. Oluştur düğmesine tıklayın. Bir C# konsol uygulaması oluşturulacaktır.

    .NET Hedef Çerçevesi .NET Hedef Çerçevesi

Mevcut C# projelerini de kullanabilirsiniz. Sadece projeyi açın ve kütüphaneleri yükleyin. Sonraki bölümde Excel kütüphanelerini nasıl yükleyeceğimizi göreceğiz.

2. IronXL Kütüphanesini Yükleme

IronXL kütüphanesini indirmek ve yüklemek için birden fazla yol vardır. Bunlar aşağıdaki gibi:

  1. Paket Yöneticisi Konsolu
  2. NuGet Paket Yöneticisini Kullanma

2.1 Paket Yöneticisi Konsolu

IronXL kütüphanesini Paket Yöneticisi Konsolunu kullanarak yükleyebiliriz. Yüklemek için aşağıdaki adımları izleyin:

  • Paket Yöneticisi Konsolu'nu açın. Genellikle Visual Studio'nun altında bulunur.

    Paket Yöneticisi Konsolu Paket Yöneticisi Konsolu

  • Aşağıdaki komutu yazın ve Enter tuşuna basın.

    Install-Package IronXL
    Install-Package IronXL
    SHELL
  • IronXL kütüphanesini yüklemeye başlayacaktır.

    IronXL Kurulumu IronXL Yükleme

  • Yüklemeden sonra, projede kullanabiliriz.

2.2 NuGet Paket Yöneticisini Kullanarak Yükleme

IronXL kütüphanesini doğrudan NuGet Paket Yöneticisinden yükleyebiliriz. IronXL'yi yüklemek için şu adımları izleyin:

  • Menü çubuğundan Araçlar'a tıklayın ve üzerinde NuGet Paket Yöneticisinin üzerine gelin.

    NuGet Paket Yöneticisi NuGet Paket Yöneticisi

  • Çözüm için NuGet Paketlerini Yönet'i seçin. Araştır üzerine tıklayın ve arama çubuğuna IronXL yazın. Arama sonuçlarında IronXL kütüphanesini gösterecektir.

    NuGet Paketlerini Yönet NuGet Paketlerini Yönet

  • IronXL.Excel üzerine tıklayın ve Yükle düğmesine tıklayın. Kütüphaneyi otomatik olarak yükleyecektir.

3. Syncfusion Excel Kütüphanesini Yükleme

Syncfusion Excel kütüphanesini Paket Yöneticisi Konsolu kullanarak yükleyebiliriz. IronXL'den farklı olarak, her proje için (Windows Forms, WPF, ASP.NET, UWP ve diğerleri gibi) her kütüphaneyi farklı şekilde yüklememiz gerekir. Farklı platformlar için farklı komutlar yazmamız gerekiyor.

3.1 Paket Yöneticisi Konsolunu Kullanarak Kurulum

Syncfusion Excel kütüphanesini yüklemek için aşağıdaki adımları izleyin:

  • Paket Yöneticisi Konsoluna gidin.
  • Syncfusion Excel kütüphanesini yüklemek için aşağıdaki komutu yazın:

    Install-Package Syncfusion.XlsIO.WinForms
    Install-Package Syncfusion.XlsIO.WinForms
    SHELL
  • Bir WPF projesinde çalışıyorsanız aşağıdaki komutu yazın:

    Install-package Syncfusion.XlsIO.Wpf
    Install-package Syncfusion.XlsIO.Wpf
    SHELL
  • Kütüphane yüklenmeye başlayacaktır. Yükleme sonrası, projenizde Syncfusion Excel çerçevesini kolayca kullanabilirsiniz.

4. Excel Belgesini Okuma

Excel belgesini okuma, herhangi bir Excel kütüphanesinin ana işlevselliğidir. IronXL ve Syncfusion Excel çerçevelerini kullanarak Excel dosyalarını nasıl okuyabileceğimizi inceleyeceğiz.

4.1 IronXL

IronXL, Excel belgelerini Microsoft.Office.Interop.Excel kullanmadan okumanızı sağlar. IronXL ile başlamadan önce önemli bir adım var - her zaman IronXL'yi program dosyamıza aktarıyoruz. Bu nedenle, en başta aşağıdaki kod satırını yazmalıyız:

using IronXL;
using System.Linq;
using IronXL;
using System.Linq;
Imports IronXL
Imports System.Linq
$vbLabelText   $csharpLabel

Sonra, çekirdek programlamaya dair bilgi sahibi olmadan, çok sayıda kod satırı yazmanın karmaşasını yaşamadan Excel dosyalarını okumak ve düzenlemek için aşağıdaki kod satırlarını yazın.

// Supported spreadsheet formats for reading include: XLSX, XLS, CSV, and TSV
WorkBook workbook = WorkBook.Load("data.xlsx");
WorkSheet sheet = workbook.WorkSheets.First();

// Select cells easily in Excel notation and return the calculated value, date, text, or formula
int cellValue = sheet["A2"].IntValue;

// Read from Ranges of cells elegantly.
foreach (var cell in sheet["A2:B10"])
{
    Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
// Supported spreadsheet formats for reading include: XLSX, XLS, CSV, and TSV
WorkBook workbook = WorkBook.Load("data.xlsx");
WorkSheet sheet = workbook.WorkSheets.First();

// Select cells easily in Excel notation and return the calculated value, date, text, or formula
int cellValue = sheet["A2"].IntValue;

// Read from Ranges of cells elegantly.
foreach (var cell in sheet["A2:B10"])
{
    Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
' Supported spreadsheet formats for reading include: XLSX, XLS, CSV, and TSV
Dim workbook As WorkBook = WorkBook.Load("data.xlsx")
Dim sheet As WorkSheet = workbook.WorkSheets.First()

' Select cells easily in Excel notation and return the calculated value, date, text, or formula
Dim cellValue As Integer = sheet("A2").IntValue

' Read from Ranges of cells elegantly.
For Each cell In sheet("A2:B10")
	Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text)
Next cell
$vbLabelText   $csharpLabel

WorkBook.Load fonksiyonu, çalışma kitabını kolayca yüklemeye yardımcı olur. Verilen kodda, hücrelerin değerlerini de görüyoruz ve bunları konsola yazdırıyoruz.

4.2 Syncfusion Excel

Syncfusion Excel çerçevesini kullanarak mevcut Excel dosyalarını nasıl okuyup düzenleyebileceğimize göz atalım. Öncelikle, Syncfusion Excel çerçevesini kullanmak için projemize Syncfusion'u aktarmamız gerekiyor. Bunu yapmak için, kod dosyasının en üstüne aşağıdaki kod satırlarını eklememiz gerekiyor:

using Syncfusion.XlsIO;
using System.Drawing;
using Syncfusion.XlsIO;
using System.Drawing;
Imports Syncfusion.XlsIO
Imports System.Drawing
$vbLabelText   $csharpLabel

Sonraki adımda, Syncfusion Excel çerçevesi kullanarak Excel dosyalarını okumak ve erişmek için projeye aşağıdaki kod satırlarını ekleyin.

// Create an instance of new ExcelEngine
using (ExcelEngine excelEngine = new ExcelEngine())
{
    // Instantiate the Excel application object
    IApplication application = excelEngine.Excel;
    // Set the Excel engine application version
    application.DefaultVersion = ExcelVersion.Excel2016;

    // Load the existing Excel workbook
    IWorkbook workbook = application.Workbooks.Open("Sample.xlsx");

    // Get the first worksheet
    IWorksheet worksheet = workbook.Worksheets[0];

    // Assign some text in a cell
    worksheet.Range["A3"].Text = "Hello World";

    // Save the Excel document
    workbook.SaveAs("Output.xlsx");
}
// Create an instance of new ExcelEngine
using (ExcelEngine excelEngine = new ExcelEngine())
{
    // Instantiate the Excel application object
    IApplication application = excelEngine.Excel;
    // Set the Excel engine application version
    application.DefaultVersion = ExcelVersion.Excel2016;

    // Load the existing Excel workbook
    IWorkbook workbook = application.Workbooks.Open("Sample.xlsx");

    // Get the first worksheet
    IWorksheet worksheet = workbook.Worksheets[0];

    // Assign some text in a cell
    worksheet.Range["A3"].Text = "Hello World";

    // Save the Excel document
    workbook.SaveAs("Output.xlsx");
}
' Create an instance of new ExcelEngine
Using excelEngine As New ExcelEngine()
	' Instantiate the Excel application object
	Dim application As IApplication = excelEngine.Excel
	' Set the Excel engine application version
	application.DefaultVersion = ExcelVersion.Excel2016

	' Load the existing Excel workbook
	Dim workbook As IWorkbook = application.Workbooks.Open("Sample.xlsx")

	' Get the first worksheet
	Dim worksheet As IWorksheet = workbook.Worksheets(0)

	' Assign some text in a cell
	worksheet.Range("A3").Text = "Hello World"

	' Save the Excel document
	workbook.SaveAs("Output.xlsx")
End Using
$vbLabelText   $csharpLabel

Syncfusion Excel'de Excel dosyalarını okumak için önce Excel sürümünü tanımlamamız gerektiğini görebiliriz. Daha sonra dosyayı açabilir ve düzenleyebiliriz. Değiştirilen dosyayı kaydetmek için, değiştirilen dosyanın içerik türünü tekrar Excel sürümüne göre tanımlamalıyız. IronXL, bu durumda anlaşılması ve kullanımı çok kolaydır çünkü Excel sürümünü tanımlamamız gerekmedi ve IronXL'de parametrelerle birlikte küçük ve akılda kalıcı fonksiyonlar var.

5. Yeni Excel Belgeleri Oluşturma

Bir sonraki olarak, yeni Excel belgeleri oluşturma ve oluşturulan belgeleri değerlerle doldurma yöntemlerini karşılaştıracağız. Öncelikle, IronXL'de belgeleri nasıl oluşturabileceğimizi inceleyeceğiz.

5.1 IronXL

IronXL, sunucunuzda Excel veya Interop'un kurulmasını gerektirmez. IronXL, Microsoft.Office.Interop.Excel e göre daha hızlı ve daha sezgisel bir API sunar. Zaten bildiğimiz gibi, önce IronXL kütüphanesini içe aktarmamız ve ardından Excel dosyalarını oluşturmak için kod yazmamız gerekiyor. IronXL'de Excel dosyalarını oluşturmak için kullanılan kod aşağıdadır.

using IronXL;
// Create a new Excel WorkBook document. 
WorkBook xlsxWorkbook = WorkBook.Create(ExcelFileFormat.XLSX);
xlsxWorkbook.Metadata.Author = "IronXL";

// Add a blank WorkSheet
WorkSheet xlsSheet = xlsxWorkbook.CreateWorkSheet("main_sheet");

// Add data and styles to the new worksheet
xlsSheet["A1"].Value = "Hello World";
xlsSheet["A2"].Style.BottomBorder.SetColor("#ff6600");
xlsSheet["A2"].Style.BottomBorder.Type = IronXL.Styles.BorderType.Double;

// Save the Excel file
xlsxWorkbook.SaveAs("NewExcelFile.xlsx");
using IronXL;
// Create a new Excel WorkBook document. 
WorkBook xlsxWorkbook = WorkBook.Create(ExcelFileFormat.XLSX);
xlsxWorkbook.Metadata.Author = "IronXL";

// Add a blank WorkSheet
WorkSheet xlsSheet = xlsxWorkbook.CreateWorkSheet("main_sheet");

// Add data and styles to the new worksheet
xlsSheet["A1"].Value = "Hello World";
xlsSheet["A2"].Style.BottomBorder.SetColor("#ff6600");
xlsSheet["A2"].Style.BottomBorder.Type = IronXL.Styles.BorderType.Double;

// Save the Excel file
xlsxWorkbook.SaveAs("NewExcelFile.xlsx");
Imports IronXL
' Create a new Excel WorkBook document. 
Private xlsxWorkbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
xlsxWorkbook.Metadata.Author = "IronXL"

' Add a blank WorkSheet
Dim xlsSheet As WorkSheet = xlsxWorkbook.CreateWorkSheet("main_sheet")

' Add data and styles to the new worksheet
xlsSheet("A1").Value = "Hello World"
xlsSheet("A2").Style.BottomBorder.SetColor("#ff6600")
xlsSheet("A2").Style.BottomBorder.Type = IronXL.Styles.BorderType.Double

' Save the Excel file
xlsxWorkbook.SaveAs("NewExcelFile.xlsx")
$vbLabelText   $csharpLabel

Çıktı:

IronXL Çıktısı IronXL Çıktısı

Excel dosyalarının meta verilerini ayarlayabiliriz. Hücrelerin değerini ayarlamak ve hücreleri formatlamak, basit ve kullanımı kolay fonksiyonlarla çok kolaydır. Hücrenin alt kenarının rengini ayarlamak için Style.BottomBorder.SetColor fonksiyonunu kullanırız.

5.2 Syncfusion Excel

Aşağıdaki kod, yeni bir Excel dosyasının nasıl oluşturulup Syncfusion Excel ile kaydedileceğini göstermektedir. Aşağıdaki kodu ekleyin ve gerekli ad alanlarını dahil edin:

using Syncfusion.XlsIO;
using Syncfusion.XlsIO;
Imports Syncfusion.XlsIO
$vbLabelText   $csharpLabel

Şimdi aşağıdaki kod satırlarını ekleyin:

// New instance of ExcelEngine is created equivalent to launching Microsoft Excel with no workbooks open
// Instantiate the spreadsheet creation engine
using (ExcelEngine excelEngine = new ExcelEngine())
{
  // Instantiate the Excel application object
  IApplication application = excelEngine.Excel;

  // Assigns default application version
  application.DefaultVersion = ExcelVersion.Excel2013;

  // Create a workbook with 1 worksheet
  IWorkbook workbook = application.Workbooks.Create(1);

  // Access first worksheet from the workbook
  IWorksheet worksheet = workbook.Worksheets[0];

  // Adding text to a cell
  worksheet.Range["A1"].Text = "Hello World";

  // Saving the workbook to disk in XLSX format
  workbook.SaveAs("Sample.xlsx");
}
// New instance of ExcelEngine is created equivalent to launching Microsoft Excel with no workbooks open
// Instantiate the spreadsheet creation engine
using (ExcelEngine excelEngine = new ExcelEngine())
{
  // Instantiate the Excel application object
  IApplication application = excelEngine.Excel;

  // Assigns default application version
  application.DefaultVersion = ExcelVersion.Excel2013;

  // Create a workbook with 1 worksheet
  IWorkbook workbook = application.Workbooks.Create(1);

  // Access first worksheet from the workbook
  IWorksheet worksheet = workbook.Worksheets[0];

  // Adding text to a cell
  worksheet.Range["A1"].Text = "Hello World";

  // Saving the workbook to disk in XLSX format
  workbook.SaveAs("Sample.xlsx");
}
' New instance of ExcelEngine is created equivalent to launching Microsoft Excel with no workbooks open
' Instantiate the spreadsheet creation engine
Using excelEngine As New ExcelEngine()
  ' Instantiate the Excel application object
  Dim application As IApplication = excelEngine.Excel

  ' Assigns default application version
  application.DefaultVersion = ExcelVersion.Excel2013

  ' Create a workbook with 1 worksheet
  Dim workbook As IWorkbook = application.Workbooks.Create(1)

  ' Access first worksheet from the workbook
  Dim worksheet As IWorksheet = workbook.Worksheets(0)

  ' Adding text to a cell
  worksheet.Range("A1").Text = "Hello World"

  ' Saving the workbook to disk in XLSX format
  workbook.SaveAs("Sample.xlsx")
End Using
$vbLabelText   $csharpLabel

Yukarıdaki kod, yeni bir IWorkbook nesnesi oluşturur ve ardından Workbooks.Create() fonksiyonunu kullanarak Çalışma Kitabı içinde bir Çalışma Sayfası oluşturur. Excel çalışma sayfalarının hücrelerine "cells" özelliği aracılığıyla erişir ve ardından dosyayı SaveAs() fonksiyonunu kullanarak kaydeder.

6. Excel Dosyalarını Dışa Aktarma

Bir sonraki olarak, Excel dosyalarını diğer veri formatlarına nasıl dışa aktarabileceğimize bakacağız. Bunun nedeni, Excel kütüphaneleri için önemli bir özelliktir çünkü bazen farklı türde işlemler için farklı formatlarda verilere ihtiyacımız vardır - bu yüzden hangi kütüphanenin basit ve kolay çözümler sunduğunu kontrol edeceğiz.

6.1 IronXL

IronXL kullanarak, tek satırlık bir kodla Excel dosyalarını dönüştürebiliriz. IronXL, Excel verilerini CSV, JSON, XML, XLSX, XLS ve daha birçok formata dışa aktarabilir.

Aşağıdaki kod, Excel dosyalarını farklı formatlara dönüştürmek için IronXL'yi kullanır.

// Export to many formats with fluent saving
xlsxWorkbook.SaveAs("NewExcelFile.xls");
xlsxWorkbook.SaveAs("NewExcelFile.xlsx");
xlsxWorkbook.SaveAsCsv("NewExcelFile.csv");
xlsxWorkbook.SaveAsJson("NewExcelFile.json");
xlsxWorkbook.SaveAsXml("NewExcelFile.xml");
// Export to many formats with fluent saving
xlsxWorkbook.SaveAs("NewExcelFile.xls");
xlsxWorkbook.SaveAs("NewExcelFile.xlsx");
xlsxWorkbook.SaveAsCsv("NewExcelFile.csv");
xlsxWorkbook.SaveAsJson("NewExcelFile.json");
xlsxWorkbook.SaveAsXml("NewExcelFile.xml");
' Export to many formats with fluent saving
xlsxWorkbook.SaveAs("NewExcelFile.xls")
xlsxWorkbook.SaveAs("NewExcelFile.xlsx")
xlsxWorkbook.SaveAsCsv("NewExcelFile.csv")
xlsxWorkbook.SaveAsJson("NewExcelFile.json")
xlsxWorkbook.SaveAsXml("NewExcelFile.xml")
$vbLabelText   $csharpLabel

Yukarıdaki kodda, Excel dosyalarını sadece tek satırlık bir kodla çok kolay bir şekilde dışa aktarabileceğimizi görüyoruz. Ancak, önce Excel dosyasını açmamız veya oluşturmamız gerekiyor ve IronXL kullanarak Excel dosyasını nasıl açıp oluşturabileceğimizi zaten gördük.

6.2 Syncfusion Excel

Syncfusion Excel çerçevesi, Excel dosyalarını PDF ve JSON formatına dönüştürebilir. Excel dosyalarını JSON formatına dönüştürmek için ekstra bir kütüphane yüklememize gerek yoktur. Açık bir Excel dosyasını JSON dosyasına dönüştürmek için kod burada.

// Saves the workbook to a JSON file, as schema by default
workbook.SaveAsJson("Excel-Workbook-To-JSON-as-schema-default.json");

// Saves the workbook to a JSON file as schema
workbook.SaveAsJson("Excel-Workbook-To-JSON-as-schema.json", true);
// Saves the workbook to a JSON file, as schema by default
workbook.SaveAsJson("Excel-Workbook-To-JSON-as-schema-default.json");

// Saves the workbook to a JSON file as schema
workbook.SaveAsJson("Excel-Workbook-To-JSON-as-schema.json", true);
' Saves the workbook to a JSON file, as schema by default
workbook.SaveAsJson("Excel-Workbook-To-JSON-as-schema-default.json")

' Saves the workbook to a JSON file as schema
workbook.SaveAsJson("Excel-Workbook-To-JSON-as-schema.json", True)
$vbLabelText   $csharpLabel

Tipik Excel belgelerini PDF dosyalarına dönüştürmek için, dönüştürme için destek sağlayacak ekstra bir kütüphane yüklememiz gerekiyor. Excel-to-ODS, Excel dosyalarını çeşitli uygulamalarda, örneğin OpenOffice ve Google Sheets, kullanmak için ODS formatlarında kaydeder. Excel-to-HTML, bir Excel çalışma kitabı veya çalışma sayfasını dinamik olarak bir HTML dosyası olarak işler.

7. Excel Dosyalarını Koruma

Koruma, Microsoft Excel'in en önemli özelliğidir. Kimlerin dosyaları açabileceği ve düzenleyebileceği üzerinde kontrol sağlar. Şifre korumalı Excel dosyaları önemlidir çünkü önemli verileri depolayabilirler. Excel kütüphanelerini kullanarak Excel dosyalarımızı nasıl koruyabileceğimize bir bakalım.

7.1 IronXL

IronXL'yi kullanarak, tek bir kod satırı ile Excel dosyamızı koruyabiliriz. Aşağıdaki kod, bir Excel dosyasını nasıl açıp koruyabileceğimizi göstermektedir.

using IronXL;

WorkBook workbook = WorkBook.Load("test.xlsx");
WorkSheet worksheet = workbook.DefaultWorkSheet;

// Protect the worksheet by setting the password to it
// Users will then need to know this password to edit the password-protected Excel file's worksheet in Excel.
worksheet.ProtectSheet("password");
workbook.Save();

// Unprotect the worksheet and remove any password locks 
// It works even if you do not know the password!
worksheet.UnprotectSheet();
workbook.Save();
using IronXL;

WorkBook workbook = WorkBook.Load("test.xlsx");
WorkSheet worksheet = workbook.DefaultWorkSheet;

// Protect the worksheet by setting the password to it
// Users will then need to know this password to edit the password-protected Excel file's worksheet in Excel.
worksheet.ProtectSheet("password");
workbook.Save();

// Unprotect the worksheet and remove any password locks 
// It works even if you do not know the password!
worksheet.UnprotectSheet();
workbook.Save();
Imports IronXL

Private workbook As WorkBook = WorkBook.Load("test.xlsx")
Private worksheet As WorkSheet = workbook.DefaultWorkSheet

' Protect the worksheet by setting the password to it
' Users will then need to know this password to edit the password-protected Excel file's worksheet in Excel.
worksheet.ProtectSheet("password")
workbook.Save()

' Unprotect the worksheet and remove any password locks 
' It works even if you do not know the password!
worksheet.UnprotectSheet()
workbook.Save()
$vbLabelText   $csharpLabel

ProtectSheet() fonksiyonu, kullanıcının bir Excel dosyasını şifrelemesini sağlar. Excel dosyasını yükledikten sonra, sayfanın korumasını kaldırmak için UnprotectSheet() fonksiyonunu kullanabiliriz. Bu fonksiyon, şifreleri bilmeseniz bile tüm şifreleri kaldıracaktır.

7.2 Syncfusion Excel

Syncfusion Excel çerçevesini kullanarak Excel dosyalarını koruyabiliriz. Aşağıdaki kod, bir Excel dosyası oluşturmaya ve korumaya imkan tanır.

private void ProtectWorkbook()
{
    using (ExcelEngine excelEngine = new ExcelEngine())
    {
        // Instantiate the application object
        IApplication application = excelEngine.Excel;

        // Create a workbook
        IWorkbook workbook = application.Workbooks.Create(1);

        // Protect the workbook specifying a password with Boolean attributes for structure and windows protection
        bool isProtectWindow = true;
        bool isProtectContent = true;
        workbook.Protect(isProtectWindow, isProtectContent, "password");

        // Save the Excel file
        workbook.SaveAs(@"d:\test\XlsIOOutput_ProtectedWorkbook.xlsx");
    }
}
private void ProtectWorkbook()
{
    using (ExcelEngine excelEngine = new ExcelEngine())
    {
        // Instantiate the application object
        IApplication application = excelEngine.Excel;

        // Create a workbook
        IWorkbook workbook = application.Workbooks.Create(1);

        // Protect the workbook specifying a password with Boolean attributes for structure and windows protection
        bool isProtectWindow = true;
        bool isProtectContent = true;
        workbook.Protect(isProtectWindow, isProtectContent, "password");

        // Save the Excel file
        workbook.SaveAs(@"d:\test\XlsIOOutput_ProtectedWorkbook.xlsx");
    }
}
Private Sub ProtectWorkbook()
	Using excelEngine As New ExcelEngine()
		' Instantiate the application object
		Dim application As IApplication = excelEngine.Excel

		' Create a workbook
		Dim workbook As IWorkbook = application.Workbooks.Create(1)

		' Protect the workbook specifying a password with Boolean attributes for structure and windows protection
		Dim isProtectWindow As Boolean = True
		Dim isProtectContent As Boolean = True
		workbook.Protect(isProtectWindow, isProtectContent, "password")

		' Save the Excel file
		workbook.SaveAs("d:\test\XlsIOOutput_ProtectedWorkbook.xlsx")
	End Using
End Sub
$vbLabelText   $csharpLabel

Excel dosyasını şifrelemek için Protect() fonksiyonunu kullanırız. Sadece sayfayı korumak istiyorsak veya Excel dosyasının içeriğini de korumak istiyorsak, fonksiyona üç parametre aktarmamız gerekir. Üçüncü parametre, ayarlamak istediğiniz şifre olacaktır.

8. Lisanslama

8.1 IronXL

IronXL geliştirme için tamamen ücretsizdir. Geliştirmek için her yönünü deneyebilirsiniz. Ancak, ücretsiz gelişim sürümünde bir filigran olacaktır. Üretim için de ücretsiz olarak deneyebilirsiniz. Ücretsiz deneme sürümünü herhangi bir ödeme yapmadan aktif hale getirebilirsiniz. IronXL satın almaya karar verirseniz, fiyat planları aşağıdaki gibidir:

Lite Sürüm

Tek bir geliştiriciyseniz ve IronXL'yi projenizde kullanmak isterseniz Lite Sürümü seçebilirsiniz. Bu, sizin için en iyi seçenek olacaktır.

IronXL Lite IronXL Lite

Professional Sürüm

Professional Sürümü, dünya genelinde birden fazla şubesi olan bir şirketiniz varsa en iyisidir. Bu Sürüm, aynı anda 10 konum, 10 geliştirici ve 10 projeyi destekler.

IronXL Professional IronXL Professional

Unlimited Sürüm

Bu fiyat planı, sınırsız geliştirici, sınırsız konum ve sınırsız projeyi ömür boyu tek ödemeyle destekler. Birçok projede IronXL kullanmayı tercih ederseniz en iyi seçenektir.

IronXL Unlimited IronXL Unlimited

IronXL ayrıca telif hakkı dağıtımını destekler ve size ürün desteği ve güncellemeleri de sunar.

Telif Dağıtımı Telif Hakkı Dağıtımı

IronXL'nin lisans sayfası, fiyatlandırma ve kullanım hakları hakkında daha fazla bilgi içerir.

8.2 Syncfusion Excel Kütüphanesi

Syncfusion Excel kütüphanesi de ücretsiz bir deneme sunar. Syncfusion Excel satın almak istiyorsanız, bunu beş kişilik bir geliştirici ekibi için $395 karşılığı satın alabilirsiniz. Syncfusion, 10 veya daha fazla geliştiriciden oluşan ekipler ve tek projelerde veya tüm şirketlerde kullanım için özel sınırsız lisanslar için ilave lisanslar sunar.

Syncfusion Syncfusion

9. Sonuç

Her iki kütüphane de etkili işlevsellik sağlar. Ancak, büyük resme baktığımızda IronXL daha uygun ve kullanımı daha kolaydır. Küçük ve akılda kalıcı fonksiyonlara sahiptir. IronXL sayesinde çok satırlı kod yazmaya gerek kalmadan pek çok düzenleme ve formatlama işlemi yapabilirsiniz. Kod akışı karmaşık olsa da, yeni başlayan biri çok kolay bir şekilde anlayabilir. IronXL'nin çalışma şeklini veya anlayışını bilmenize gerek yoktur. Farklı platformlar için ayrı kütüphane yüklemenize gerek yoktur. Bir kez yükleyin ve her işlem için hazır olun.

Syncfusion Excel'in yukarıda gördüğümüz gibi birçok özelliği vardır. Syncfusion Excel yardımıyla birçok formatlama ve dönüştürme yapabiliriz. Yeni Excel belgeleri oluşturabilir, zaten var olan Excel dosyalarını değiştirebilir, çoklu formatlama yapabilir ve şifreleme yapabiliriz. Dönüştürmeleri gerçekleştirmek için ayrı bir kütüphane yüklememiz gerekiyor.

IronXL'nin çeşitli fiyat planları vardır. Kendi gereksinimlerinize en uygun planı satın alabilirsiniz. Örneğin, tek geliştiriciyseniz ve bir proje için ticari amaçla IronXL'ye ihtiyacınız varsa, tek geliştirici ve tek proje için sadece bir yıl için birkaç yüz dolar gerektiren Syncfusion'dan çok daha düşük olan, tek seferlik bir ödeme ile aktif hale getirebilirsiniz. Yani, IronXL çok daha ucuz ve Syncfusion Excel çerçevesinden daha iyi seçenekler sunuyor.

Sonuç olarak, IronXL, Syncfusion Excel çerçevesine göre daha iyi bir seçenektir. Yukarıdaki paragraflarda gördüğümüz gibi, IronXL'nin basit fonksiyonları sayesinde kullanımı çok kolaydır ve tek satırlık bir kodla birçok formatlandırma yapabiliyoruz. Ancak, Syncfusion Excel çerçevesinde, IronXL'nin arka planda zaten tanımladığı birçok öğeyi tanımlamak için birden fazla kod satırı yazmamız gerekiyor ve kullanıcı, birçok parametre ve değişken tanımlamak için vaktini harcamak zorunda kalmıyor. Ayrıca, IronXL daha ucuzdur ve daha iyi lisanslama seçeneklerine sahiptir. Iron Software şu anda özel bir teklif sunuyor, bu sayede sadece iki yazılım paketi fiyatına beş yazılım paketi satın alabilirsiniz. Bu, beş Iron Software paketi indirimli fiyata satın alabileceğiniz anlamına gelir.

Lütfen dikkate alınSyncfusion, ilgili sahibinin ticari markasıdır. Bu site Syncfusion ile bağlantılı veya onaylanmış değildir, sponsoru değildir. Tüm ürün adları, logolar ve markalar kendi sahiplerine aittir. Karşılaştırmalar, yalnızca bilgilendirme amaçlıdır ve yazı sırasında halka açık bilgilerle alakalı olarak yansıtılmaktadır.

Sıkça Sorulan Sorular

Excel dosyası manipülasyonu için IronXL kullanmanın ana avantajları nelerdir?

IronXL, geliştiricilerin Excel belgelerini kolayca okumalarını, yazmalarını ve manipüle etmelerini sağlayan basitleştirilmiş ve kullanıcı dostu bir API sunar. XLS, XLSX, CSV ve JSON gibi birçok dosya formatını destekler ve Microsoft Excel kurulumu gerektirmeden veri yükleme, grafik oluşturma, formül kullanma ve hücre biçimlendirme özelliklerini içerir.

Excel dosyalarını C#'ta farklı formatlara nasıl dönüştürürüm?

IronXL kullanarak Excel dosyalarını CSV, JSON, XML, XLSX ve XLS gibi farklı formatlara eksport edebilirsiniz. Bu, C# uygulamalarınıza kolayca entegre edilebilir, minimal kod ile yapılabilir.

IronXL'yi kullanmak için Excel'in kurulu olması gerekli mi?

Hayır, IronXL, sunucunuz veya iş istasyonunuzda Microsoft Excel'in kurulu olmasını gerektirmez. Excel dosyası manipülasyon görevleri için kendi API'sini sağlar.

IronXL'nin lisanslaması, Syncfusion Excel ile nasıl karşılaştırılır?

IronXL, su damgalı ücretsiz bir geliştirme sürümü ve ticari kullanım için birçok ücretli sürüm sunarak esnek bir lisanslama modeli sağlar. Buna karşın, Syncfusion'un Excel kullanımı, geliştiricilerin ve projelerin sayısına dayalı bir lisans satın almayı gerektirir.

IronXL'nin Syncfusion Excel'e göre yeni başlayanlar için tercih edilme nedenleri nelerdir?

IronXL, minimal kod ile karmaşık görevlerin gerçekleştirilmesine izin veren basit ve sezgisel API'si nedeniyle genellikle yeni başlayanlar için daha kolaydır. Syncfusion Excel'in aksine, IronXL, Excel manipülasyonu için birçok parametre tanımlamayı gerektirmez, bu da Excel manipülasyonuna yeni başlayan geliştiriciler için daha erişilebilir hale gelir.

IronXL, Excel dosya koruması ve güvenliğini yönetebilir mi?

Evet, IronXL, kullanıcıların belgelerini şifreler ve diğer koruma özellikleri ile güvenli hale getirmelerine izin vererek, Excel dosyalarını paylaşırken veri bütünlüğü ve gizliliği sağlar.

Geliştiriciler neden Syncfusion Excel yerine IronXL'yi kullanmayı düşünmeliler?

Geliştiriciler, IronXL'yi basitliği, kullanım kolaylığı, maliyet etkinliği ve farklı platformlar için ek kitaplıklara ihtiyaç duymayan sağlam özellik seti ile tercih edebilirler. IronXL, Excel dosya manipülasyonu için sade bir yaklaşım sunarak onu geliştiriciler için ideal bir seçenek haline getirir.

IronXL, Excel dosyalarındaki formülleri ele alabiliyor mu?

Evet, IronXL, Excel dosyalarındaki formüllerle çalışmayı destekleyerek, Excel dosyalarınız içinde formül okuma, yazma ve değerlendirme imkanı sağlayarak, karmaşık hesaplamalar için programatik bir çözüm sunar.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapı...

Daha Fazla Oku

Iron Destek Ekibi

Haftada 5 gün, 24 saat çevrimiçiyiz.
Sohbet
E-posta
Beni Ara