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:
- Sıfırdan Excel belgeleri oluşturma.
- Mevcut Excel belgelerini düzenleme.
- Veri ithal etme ve ihracat etme.
- Excel formüllerini destekler.
- Tablolar, pivot tablolar ve pivot grafiklerin oluşturulmasını ve yönetilmesini destekler.
- Şablon işaretçileri kullanarak veri doldurma.
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ı -
Projeye bir ad verin ve İleri düğmesine tıklayın.
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
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:
- Paket Yöneticisi Konsolu
- 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 -
Aşağıdaki komutu yazın ve Enter tuşuna basın.
Install-Package IronXLInstall-Package IronXLSHELL -
IronXL kütüphanesini yüklemeye başlayacaktır.
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 -
Çö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 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.WinFormsInstall-Package Syncfusion.XlsIO.WinFormsSHELL -
Bir WPF projesinde çalışıyorsanız aşağıdaki komutu yazın:
Install-package Syncfusion.XlsIO.WpfInstall-package Syncfusion.XlsIO.WpfSHELL - 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
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
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
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
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")
Çıktı:
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
Ş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
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")
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)
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()
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
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
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
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 ayrıca telif hakkı dağıtımını destekler ve size ürün desteği ve güncellemeleri de sunar.
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
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.
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.




