IronXL ile Syncfusion Excel Arasındaki Bir Karşılaştırma
Excel'i programlı olarak manipüle etmek geliştiriciler için zor olabilir. Microsoft Excel dosyalarını düzenlemeye çalışırken birkaç sorun ortaya çıkmaktadır. Ana sorunlar, kullanıcı arayüzündeki zorluklar ve belgeleme eksikliği olup, bir Excel dosyasını ele almayı zorlaştırır. Ancak neyse ki, artık yetenekli programcılar tarafından yazılmış bazı Excel kütüphanelerimiz var. Bu kütüphaneler, Microsoft Excel dosya verilerini düzenlemede yardımcı olmaktadır. Burada iki Excel C# kütüphanesini tartışacağım:
- IronXL: C# Excel Kütüphanesi
- Syncfusion Excel Çerçevesi
Bu kütüphanelerin karşılaştırmasıyla başlayalım.
IronXL: C# Excel Kütüphanesi
IronXL, Iron Software tarafından geliştirilen C# kodlarından oluşan bir .NET Excel kütüphanesidir ve Excel belgelerini programlı olarak manipüle etmek için kullanılır. IronXL, .NET framework üzerinde yazılmıştır ve normalde Microsoft Excel gerektiren uygulamaları geliştirme sürecini basitleştirir.
IronXL, bir Excel çalışma kitabından veri okuma ve yazma, çalışma kitabı objelerini manipüle etme, harici veri kaynaklarına erişim ve bir Excel çalışma kitabına veri yükleme için kullanılacak sınıflar, metodlar ve özellikler seti sağlar.
IronXL'nin özelliklerine bir göz atalım.
IronXL'nin Özellikleri
IronXL'yi diğer kütüphanelerden öne çıkaran birçok özelliği vardır.
Veri Yükleme, Okuma ve Düzenleme
IronXL kullanarak XLS, XLSX, XLST, XLSM, CSV ve TSV gibi elektronik tablo belgelerinden veri yükleyebilir, okuyabilir ve düzenleyebiliriz. IronXL, bu elektronik tablo 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, özelleştirilmiş grafikler ile elektronik tablolar oluşturmak için geniş bir işlev yelpazesine sahiptir. Onlar için iyi bir API belgelemesi vardır.
Kaydetme ve Dışa Aktarma
IronXL, belgeleri birden fazla formatta kaydetmek ve dışa aktarmak 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 kolaylığı sağlar.
Formüllerle Çalışma
IronXL, Excel dosyalarında formüllerle çalışmayı destekler. İhtiyacımıza göre herhangi bir formül oluşturup herhangi bir hücreye uygulayabiliriz. IronXL, formüllerle çalışmamıza yardımcı olacak mükemmel ve basit işlevler sunar.
Hücre Veri Biçimleri
Excel kullanıcıları genellikle Excel hücrelerinde formatlama kullanmak zorundadır. IronXL, gelişmiş koşullu biçimlendirme özelliklerini destekler. IronXL, hücre veri biçimlendirme konusunda basit ve kullanımı kolay işlevlerle yardım etmektedir. IronXL, Microsoft Excel tarafından desteklenen tüm formatları destekler. Verileri şu formatlarla biçimlendirebilirsiniz:
- Metin
- Sayı
- Formüller
- Tarihler
- Para birimi
- Yüzdeler
- Bilimsel
- Zaman
- Özel Formatlar
Hücre Stili
Hücre stili, önemli verileri ayırt etmeye yardımcı olan Microsoft Excel'in önemli bir özelliğidir. Çok kullanışlıdır ve IronXL de bu özelliği destekler. IronXL işlevlerini kullanarak yazı tipi stili, yazı tipi boyutu, arka plan deseni, çerçeve ve hizalama değiştirebilirsiniz.
Syncfusion Excel
Syncfusion kütüphanesi, Microsoft Excel (XLS) dosyalarını okumak, yazmak ve manipüle etmek için bir API sağlar. Syncfusion kütüphanesi, geliştiricilerin Microsoft Excel (XLS) dosyalarını okumak, yazmak ve manipüle etmek için uygulamalar oluşturmalarını sağlayan bir C# kütüphanesidir. Özelleştirilmiş veri alımı da desteklenmektedir. C# programlama dillerini destekleyen tüm işletim sistemleriyle uyumludur.
Syncfusion Excel'in Özellikleri
Syncfusion Excel kütüphanesinin özelliklerine bir göz atalım:
- Baştan Excel belgeleri oluşturun.
- Mevcut Excel belgelerini değiştirin.
- Veri alımı ve ihracatı.
- Excel formüllerini destekler.
- Tablolar, pivot tabloları ve pivot grafiklerin oluşturulması ve işlenmesini destekler.
- şablon işaretleyiciler kullanarak veri doldurma.
Bu kütüphanelerin nasıl çalıştığını inceleyelim. Çeşitli fonksiyonları kontrol edebilmek için önce bir C# projesi oluşturmamız gerekiyor. O halde başlayalım.
1. C# Projesi Oluşturma
Bu öğreticide bir proje oluşturmak için Visual Studio 2019 sürümü (en son sürüm önerilir) ve C# programlama dili kullanılacaktır.
- Visual Studio 2019'u açın.
- Yeni bir proje oluşturmak için "Oluştur" üzerine tıklayın.
- Şablonlardan C# Konsol Uygulaması'nı seçin ve İleri düğmesine tıklayın.
Konsol Uygulaması
- Projeye bir isim verin ve İleri düğmesine tıklayın.
Proje Yapılandırması
- Her cihazda çalışabildiği için, .NET hedef çerçevesini >= 3.1 seçin. En son ve en kararlı .NET çerçeve sürümü 5.0'dır. Oluştur düğmesine tıklayın. Bir C# konsol uygulaması oluşturulacaktır.
.NET Hedef Çerçeve
Mevcut C# projelerini de kullanabilirsiniz. Sadece projeyi açın ve kütüphaneleri yükleyin. Bir sonraki bölümde Excel kütüphanelerini nasıl yükleyebileceğimizi göreceğiz.
2. IronXL Kütüphanesini Yükleme
IronXL kütüphanesini indirip yüklemek için birden fazla yol vardır. Bunlar aşağıdaki gibidir:
- Paket Yöneticisi Konsolu
- NuGet Paket Yöneticisini Kullanma
2.1 Paket Yöneticisi Konsolu
IronXL kütüphanesini Paket Yöneticisi Konsolu kullanarak yükleyebiliriz. Yüklemek için aşağıdaki adımları takip edin:
- Paket Yöneticisi Konsolu'nu açın. Genelde Visual Studio'nun alt kısmı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üphanesinin yüklenmesine başlayacaktır.
IronXL Yükleme
- Yüklemeden sonra, projemizde kullanabiliriz.
2.2 NuGet Paket Yöneticisi Kullanarak Yükleme
IronXL kütüphanesini direkt olarak NuGet Paket Yöneticisinden yükleyebiliriz. IronXL'i yüklemek için bu adımları takip edin:
- Menülerden Araçlar'a tıklayın ve NuGet Paket Yöneticisinin üzerine gelin.
NuGet Paket Yöneticisi
- Çözüm için NuGet Paketlerini Yönet'i seçin. Gözat'a 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 Install düğmesine tıklayın. Kütüphane otomatik olarak yüklenecektir.
3. Syncfusion Excel Kütüphanesini Yükleme
Syncfusion Excel kütüphanesini Paket Yöneticisi Konsolu kullanarak yükleyebiliriz. IronXL'den farklı olarak, Windows Forms, WPF, ASP.NET, UWP ve diğer projeler gibi farklı projeler için her kütüphaneyi ayrı ayrı yüklememiz gerekmektedir. Farklı platformlar için farklı komutlar yazmamız gerekiyor.
3.1 Paket Yöneticisi Konsolu Kullanarak Yükleme
Syncfusion Excel kütüphanesini yüklemek için aşağıdaki adımları takip edin:
- Paket Yöneticisi Konsolu'na 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 -
WPF projesinde çalışıyorsanız aşağıdaki komutu yazın:
Install-package Syncfusion.XlsIO.WpfInstall-package Syncfusion.XlsIO.WpfSHELL - Kütüphanenin yüklenmesine başlayacaktır. Yüklemeden sonra, projenizde kolayca Syncfusion Excel çerçevesini kullanabilirsiniz.
4. Excel Belgesini Okuma
Bir Excel belgesini okumak, herhangi bir Excel kütüphanesinin başlıca bir fonksiyonudur. 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 okumayı sağlar. IronXL ile başlamadan önce atılması gereken önemli bir adım vardır -- her zaman IronXL'i program dosyamıza dahil ediyoruz. Bu yüzden en üst kısma 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
Birden fazla kod satırı yazma zahmeti olmadan ve temel programlama bilgisiyle 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ücre değerlerini de görüyor ve bunları konsola yazdırıyoruz.
4.2 Syncfusion Excel
Syncfusion Excel çerçevesini kullanarak mevcut Excel dosyalarını nasıl okuyup düzenleyebileceğimizi inceleyelim. Öncelikle, Syncfusion Excel çerçevesini kullanabilmek için Syncfusion'u projemize dahil etmemiz gerekiyor. Bunu yapmak için, kod dosyasının üst kısmına 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
Ardından, Syncfusion Excel çerçevesini kullanarak Excel dosyalarını okumak ve erişmek için projede 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örüyoruz. Daha sonra dosyayı açabilir ve düzenleyebiliriz. Düzenlenen dosyayı kaydetmek için, düzenlenen dosyanın içerik türünü tekrar Excel sürümüne göre tanımlamamız gerekiyor. IronXL bu durumda çok kolay anlaşılır ve kullanımı çok kolaydır çünkü Excel sürümünü tanımlamak zorunda kalmadık ve IronXL'de küçük ve kolay hatırlanabilir işlevlere sahip parametrelerimiz var.
5. Yeni Excel Belgeleri Oluşturma
Sonraki aşamada, yeni Excel belgeleri oluşturma yöntemlerini 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'nin sunucunuza veya Interop'a Excel yüklenmiş olmasını gerektirmez. IronXL, Microsoft.Office.Interop.Excel daha hızlı ve daha sezgisel bir API sağlar. Daha önce de bildiğimiz gibi, ilk olarak IronXL kütüphanesini dahil etmemiz gerekiyor, ardından Excel dosyalarını oluşturmak için kodu yazıyoruz. Aşağıdaki kod, IronXL'de Excel dosyaları oluşturmak için kullanılı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.
Dim 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ücrelere değer atamak ve hücreleri biçimlendirmek çok basit ve kullanımı kolay işlevlerle çok kolaydır. Hücrenin alt kenarının rengini ayarlamak için Style.BottomBorder.SetColor fonksiyonunu kullanıyoruz.
5.2 Syncfusion Excel
Aşağıdaki kod, yeni bir Excel dosyası oluşturmayı ve bunu Syncfusion Excel ile kaydetmeyi gösterir. Aşağıdaki kodu ekleyin ve gerekli namespaces'i 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 Sayfasını Çalışma Kitabı içinde 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 son olarak kaydeder.
6. Excel Dosyalarını Dışa Aktarma
Sonraki aşamada, Excel dosyalarını diğer veri formatlarına nasıl dışa aktarabileceğimizi inceleyeceğiz. Bu, Excel kütüphaneleri için önemli bir özelliktir çünkü bazen farklı türde işlemler için farklı formatlarda verilere ihtiyaç duyarız -- bu yüzden hangi kütüphanenin basit ve kolay çözümler sunduğunu kontrol edeceğiz.
6.1 IronXL
IronXL kullanarak, Excel dosyalarını sadece tek bir kod satırıyla dönüştürebiliriz. IronXL, Excel verilerini CSV, JSON, XML, XLSX, XLS ve daha fazlasına aktarabilir.
Aşağıdaki kod, IronXL kullanarak Excel dosyalarını farklı formatlara dönüştürmeye yardımcı olur.
// 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, yalnızca bir satırlık kod ile Excel dosyalarını ç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 yukarıda IronXL kullanarak bir Excel dosyasını nasıl açıp oluşturabileceğimizi zaten gördük.
6.2 Syncfusion Excel
Syncfusion Excel framework'u, Excel dosyalarını PDF ve JSON formatına dönüştürebilir. Extra bir kütüphane yüklemeden Excel dosyalarını JSON formatına dönüştürebiliriz. Açılan bir Excel dosyasını bir JSON dosyasına nasıl dönüştüreceğimizin kodu 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 desteği sağlayacak ekstra bir kütüphane yüklememiz gerekiyor. Excel-to-ODS, Excel dosyalarını ODS formatında kaydederek OpenOffice ve Google Sheets gibi çeşitli uygulamalarda kullanmak üzere saklar. Excel-to-HTML, bir Excel çalışma kitabını veya çalışma sayfasını HTML dosyası olarak dinamik bir şekilde işler.
7. Excel Dosyalarını Korumak
Koruma, Microsoft Excel'in en önemli özelliğidir. Dosyaları kimin düzenleyip açabileceği üzerinde kontrol sağlar. Şifre korumalı Excel dosyaları önemlidir çünkü önemli verileri saklayabilirler. Excel kütüphanelerini kullanarak Excel dosyalarımızı nasıl koruyabileceğimize bir göz atalım.
7.1 IronXL
IronXL kullanarak, bir satırlık kod 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. Sayfanın korumasını kaldırmak için Excel dosyasını yükledikten sonra UnprotectSheet() fonksiyonunu kullanabiliriz. Bu fonksiyon, şifreleri bilmeseniz bile tüm şifreleri kaldırır.
7.2 Syncfusion Excel
Syncfusion Excel framework'unu kullanarak Excel dosyalarını koruyabiliriz. Aşağıdaki kod, bir Excel dosyası oluşturup korumamıza olanak 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ıyoruz. Sadece sayfayı korumak istiyorsak veya Excel dosyasının içeriğini de korumak istiyorsak fonksiyona üç parametre geçmemiz gerekiyor. Üçüncü parametre, ayarlamak istediğiniz şifre olacaktır.
8. Lisanslama
8.1 IronXL
IronXL, geliştirme için tamamen ücretsizdir. Geliştirme için her yönünü deneyebilirsiniz. Ancak, ücretsiz geliştirme sürümünde bir filigran olacaktır. Üretimde de ücretsiz deneyebilirsiniz. Üretim için ücretsiz deneme sürümünü herhangi bir ödeme yapmadan etkinleştirebilirsiniz. IronXL satın almayı tercih ederseniz, fiyat planları aşağıdaki gibidir:
Lite Sürümü
Tek geliştirici iseniz ve projenizde IronXL kullanmak isterseniz, Lite Sürümü'nü seçebilirsiniz. Bu sizin için en iyi seçenek olacaktır.
IronXL Lite
Profesyonel Sürüm
Şirketinizin dünya genelinde birden çok şubesi varsa, Professional Sürümü en iyi seçenektir. Bu Sürüm, aynı anda 10 lokasyon, 10 geliştirici ve 10 projeyi destekler.
IronXL Professional
Sınırsız Sürüm
Bu fiyatlandırma planı, sınırsız geliştirici, sınırsız lokasyon ve sınırsız proje için ömür boyu bir ödeme ile destek sunar. Birçok projede IronXL kullanmayı tercih ediyorsanız, en iyi seçenek budur.
IronXL Unlimited
IronXL ayrıca telif dağıtımını destekler ve size ürün desteği ve güncellemeleri sunar.
Telif Dağıtımı
IronXL'nin lisanslama sayfası, fiyatlandırma ve kullanım hakları hakkında daha fazla ayrıntı içerir.
8.2 Syncfusion Excel Library
Syncfusion Excel kütüphanesi de ücretsiz bir deneme sürümü sunuyor. Syncfusion Excel satın almak isterseniz, beş geliştiricilik bir ekip için aylık $395 ödeyerek satın alabilirsiniz. Syncfusion, 10 veya daha fazla geliştiricilik ekipler ve sınırsız lisanslar için ek lisanslar da sunmaktadır.
Syncfusion
9. Sonuç
Her iki kütüphane de etkili işlevsellikler sunar. Ancak büyük resme baktığımızda, IronXL daha uygun ve kullanımı daha kolaydır. Küçük ve akılda kalıcı fonksiyonları vardır. IronXL ile, tek bir satırlık kod ile çok sayıda düzenleme ve biçimlendirme yapabilirsiniz. Kodun akışı karmaşıktır, ancak bir başlangıç düzeyindeki kişi bunu çok kolay bir şekilde anlayabilir. IronXL'nin nasıl çalıştığını bilmeye ya da anlamaya ihtiyaçınız yok. Farklı platformlar için ayrı kütüphaneler yüklemeye gerek yok. Bir defa yükleyin ve her bir işlem için hazırsınız.
Syncfusion Excel, yukarıda gördüğümüz birçok özelliğe sahiptir. Syncfusion Excel yardımıyla çok sayıda biçimlendirme ve dönüşüm gerçekleştirebiliriz. Yeni Excel belgeleri oluşturabilir, mevcut Excel dosyalarını değiştirebilir, birden çok biçimlendirme yapabilir ve şifreleme yapabiliriz. Dönüşümleri gerçekleştirmek için ayrı bir kütüphane yüklememiz gerekir.
IronXL'nin çeşitli fiyatlandırma planları vardır. Kendi ihtiyaçlarınıza en uygun planı satın alabilirsiniz. Örneğin, tek geliştirici iseniz ve bir proje için ticari amaçlarla IronXL'ye ihtiyaçınız varsa, bunu Syncfusion'dan çok daha düşük bir fiyatla, tek bir ödeme ile etkinleştirebilirsiniz. Syncfusion sizden sadece bir yıl için birkaç yüz dolar ödeyerek kütüphane satın almanızı gerektirir, tek bir geliştirici ve tek bir proje için. Dolayısıyla, IronXL çok daha ucuzdur ve Syncfusion Excel framework'undan çok daha iyi seçenekler sunmaktadır.
Sonuç olarak, IronXL, Syncfusion Excel framework'undan daha iyi bir seçimdir. Yukarıdaki paragraflarda gördüğümüz gibi, IronXL'nin basit fonksiyonları sayesinde kullanımı çok kolaydır ve tek bir satırlık kod ile çok sayıda biçimlendirme yapabiliriz. Ancak, Syncfusion Excel framework'unda, zaten IronXL'nin arka planında tanımlanmış birçok öğeyi tanımlamak için birden fazla kod satırı yazmamız gerekiyor ve kullanıcı, birden fazla parametre ve değişken tanımlamak için zamanı harcamamalıdır. Ayrıca, IronXL daha ucuzdur ve daha iyi lisanslama seçeneklerine sahiptir. Iron Software, şu anda özel bir teklif sunuyor: sadece iki yazılım paketi fiyatına beş yazılım paketi satın alabilirsiniz. Bu, beş Iron Software paketini indirimli bir fiyata satın alabileceğiniz anlamına gelir.
Sıkça Sorulan Sorular
Excel dosya manipülasyonu için IronXL kullanmanın başlıca avantajları nelerdir?
IronXL, geliştiricilerin Excel belgelerini kolayca okumasını, yazmasını ve manipüle etmesini sağlayan basitleştirilmiş ve kullanıcı dostu bir API sunar. XLS, XLSX, CSV ve JSON gibi birden fazla dosya formatını destekler ve Microsoft Excel kurulumu gerektirmeden veri yükleme, grafik oluşturma, formül yönetimi ve hücre biçimlendirme özelliklerini içerir.
Excel dosyalarını C# içinde farklı formatlara nasıl dönüştürebilirim?
IronXL'yi kullanarak Excel dosyalarını CSV, JSON, XML, XLSX ve XLS gibi çeşitli formatlara aktarabilirsiniz. Bu, minimal kodla yapılabilir ve C# uygulamalarınıza entegrasyonunu kolaylaştırır.
IronXL'yi kullanmak için Excel'in kurulu olması gerekli mi?
Hayır, IronXL, sunucunuzda veya iş istasyonunuzda Microsoft Excel'in kurulmasını gerektirmez. Kendi API'si aracılığıyla Excel dosya manipülasyon görevlerini yönetir.
IronXL'nin lisanslaması Syncfusion Excel ile nasıl karşılaştırılır?
IronXL, filigran içeren ücretsiz bir geliştirme sürümü sunar ve ticari kullanım için çeşitli ücretli sürümler ile esneklik sağlayan bir lisanslama modeli sunar. Buna karşılık, Syncfusion Excel, geliştirici ve proje sayısına göre fiyatlandırılan bir lisans satın almayı gerektirir.
IronXL'yi, Syncfusion Excel'e kıyasla başlangıç seviyesinde bir terci yapmayı daha cazip kılan nedir?
IronXL, basit ve sezgisel API'si sayesinde, başlangıç seviyesinde olanlar için genellikle daha kolaydır; bu da karmaşık görevlerin minimal kodla gerçekleştirilmesine olanak tanır. Syncfusion Excel'den farklı olarak, IronXL, yeni Excel manipülasyon geliştiricileri için daha erişilebilir hale getirerek birçok parametrenin tanımlanmasını gerektirmez.
IronXL, Excel dosya koruması ve güvenliğini yönetebilir mi?
Evet, IronXL, kullanıcıların belgelerini şifreler ve diğer koruma özelliklerini kullanarak Excel dosya korumasını yönetebilir. Bu, Excel dosyalarını paylaşırken veri bütünlüğü ve gizliliğini sağlar.
Geliştiriciler neden Syncfusion Excel yerine IronXL kullanmayı düşünmelidir?
Geliştiriciler, IronXL'yi basitliği, kullanım kolaylığı, maliyet etkinliği ve farklı platformlar için ek kütüphaneler gerektirmeyen sağlam özellik seti nedeniyle Syncfusion Excel yerine tercih edebilir. IronXL, Excel dosya manipülasyonu için basit ve doğrudan bir yaklaşım sunar, bu da onu geliştiriciler için ideal bir tercih haline getirir.
IronXL, Excel dosyalarında formül yönetimini destekliyor mu?
Evet, IronXL, Excel dosyalarınız içinde formüllerle çalışmayı ve bu formülleri okuyup, yazıp değerlendirme kapasitesine sahiptir; bu, programatik olarak karmaşık hesaplamaları yönetmek için kapsamlı bir çözüm sunar.




