OpenpyXL Python & IronXL for Python Arasında Bir Karşılaştırma
Bu makalede, Excel elektronik tablo dosyalarını yönetmek için yaygın olarak kullanılan iki Python kütüphanesini, IronXL ve OpenPyXL'yi tartışacağız. Bu kütüphaneler, Excel dosya belgelerini manipüle etmesi, analiz etmesi veya oluşturması gereken Python geliştiricileri için önemlidir. Her kütüphane, Excel dosyalarının daha etkili ve verimli bir şekilde işlenmesini kolaylaştırmak için benzersiz özellikler sunar.
IronXL ve OpenPyXL, geliştiricilere elektronik tablo operasyonlarını otomatikleştirme, Excel sayfa hücrelerini düzenleme ve örnek verileri çıkarma imkanı sunar. Ayrıca formüller oluşturma, hücreleri biçimlendirme ve büyük veri kümelerini sorunsuz bir şekilde işleme gibi ileri düzey özellikleri desteklerler. Bu, uygulamaların performanstan veya uyumluluktan ödün vermeden çeşitli ortamlarda Excel dosyalarını verimli bir şekilde yönetebilmesini sağlar.
Bu karşılaştırmada, her kütüphanenin benzersiz özelliklerini ve nasıl çalıştıklarını inceleyeceğiz. Lisansa ilişkin detaylarını da ele alacağız. Geliştiriciler icin acik ve kullanisli bilgiler uzerine odaklanarak IronXL ile OpenPyXL'in farkliliklarina ve yeteneklerine bakalim.
1. OpenPyXL Kutuphanesi
OpenPyXL, Excel dosyalarini XLSX formatinda kullanmak icin tasarlanmis bir Python kutuphanesidir. Bu kutuphane, geliştiricilerin Excel dosyalarini okumasina, yazmasina ve düzeltmesine izin verir. OpenPyXL modulu, veri işleme, formatlama ve cizelgeler ile done tablolar gibi gelişmiş özellikleri iceren çeşitli Excel fonksiyonelliklerini destekler.
1.1 OpenPyXL'in Temel Özellikleri
1.1.1 Elektronik Tablo Yonetimi
OpenPyXL, calisma defterleri oluşturma ve duzenlemede son derece yetkindir. Bos bir calisma defteriyle başlayabilir veya mevcut bir defteri duzenleyebilir, sayfalar ekleyip cikartabilir ve sayfalar arasinda kolayca gezinebilirsiniz. Bu, rapor hazirlama veya veri girisini otomatiklestirme gibi isler icin mükemmel hale getirir.
1.1.2 Veri İşleme
Bu kutuphane, satir ekleme, formuller yerlestirme ve aktif sayfa icin stilleri uygulama gibi gelişmiş veri işleme kabiliyetlerini destekler. Buyuk veri setlerini hucre degerlerini programatik olarak ayarlayarak yonetebilir, bu da veri analizi ve rapor oluşturma gibi gorevleri basitlesirir.
1.1.3 Stilleme ve Formatlama
OpenPyXL ile yazilar, renkler ve cerceveler gibi hucre formatlamalari uygulayabilirsiniz. Ayrica kosullu formatlama ve profesyonel sekilde stilize edilmis Excel raporlari oluşturmak icin gerekli olan hizalama gibi hucre özelliklerini ayarlamayi da destekler.
1.1.4 Grafikler ve Resimler
OpenPyXL, elektronik tablolara grafiksel ogeler ekleyebilir. Verileri görüntülemek icin grafik ekleyebilir ve bilgilerin sunumunu geliştirmek icin resimler bile ekleyebilirsiniz. Bu özellik, ozel panolar ve karmasik raporlar oluşturmak icin özellikle faydalidir.
1.1.5 Formul ve Fonksiyon Entegrasyonu
Kutuphane, hucrelere Excel formullerinin entegrasyonunu saglayarak tablo icinde otomatik hesaplamalar yapma imkani verir. Ayrica, verileri organize etmede ve daha okunabilir ve bakimi kolay tablolari oluşturmada çok kullanisli olan adlandirilmis araliklar oluşturmayi da destekler.
1.1.6 Veri Doğrulama ve Otomasyon
OpenPyXL, veri doğrulama ve siralama icin araclar sunar ki bunlar veri butunlugunu korumak ve bilgiyi etkin bir sekilde organize etmek icin kritiktir. Ayrica, Excel dosyalarinin icinde buyuk veri hacimlerini yonetmeyi kolaylastiran veri filtreleme özellikleri sunar.
1.1.7 Acik Kaynak Kodu
Acik kaynakli bir kutuphane olarak OpenPyXL, canli bir toplulugun surekli katkilarindan yararlanip güncel ve özellik zengini kalmasini saglar. Bu topluluk katilimi, kutuphaneyi kullanan geliştiriciler icin genis bir kaynak ve destek havuzu sunar.
2. IronXL Kutuphanesi
IronXL, Microsoft Excel'e gerek duymadan Excel dosyalarini manipule etmek icin tasarlanmis guclu bir Python kutuphanesidir. Çok sayida Excel gorevini Python ortamlarinda dogrudan yonetme konusunda basitligi ve etkinligi ile tercih edilir.
2.1 IronXL'in Temel Özellikleri
2.1.1 Calisma Kitabi Yonetimi
IronXL, XLS, XLSX ve CSV gibi Excel formatlarinin oluşturulmasi, yuklenmesi ve kaydedilmesini basitlestirir. Farkli Excel surumleriyle uyumlulugu saglar ve Excel verilerini programatik olarak yonetmek icin kapsamli islevsellik sunar.
2.1.2 Veri İşleme
IronXL ile verileri etkin bir sekilde siralayabilir, satir ve sutunlari yonetebilir ve hucre formatlamalarini ozellestirebilirsiniz. Bu, veri turleri, formuller ve hatta hucrelerde Excel fonksiyonlari uygulama dahil olmak üzere çeşitli islevleri icerir.
2.1.3 Gelişmiş Formatlama
IronXL, hucreler icin genis capta stil seçenekleri sunar, buna yazilar, cerceveler ve arka plan renklerini ayarlamak dahildir. Kosullu formatlama gibi gelişmiş Excel özelliklerini destekler ve calisma sayfalari icin baski seçeneklerini ayarlayarak Excel raporlarinizin okunabilirligini ve sunumunu artirir.
2.1.4 Guvenlik Özellikleri
Kutuphane, metadata duzenleme, izinleri yonetme ve dosyalara parola korumasi uygulama konularinda destekte bulunarak hassas verilerin guvende olmasini saglar.
2.1.5 Coklu Platform Destegi
IronXL, Windows, macOS ve Linux dahil olmak üzere birden fazla isletim sisteminde calismak üzere tasarlanmistir ve geliştiricilerin uygulamalarini çeşitli platformlara uyumluluk sorunu olmadan dağıtabilmelerini saglar.
2.1.6 Sayfa ve Hucre Aralik İşlemleri
IronXL, sayfa araliklarini ve tekil hucreleri yonetmek icin guclu fonksiyonlar sunar. Hucre araliklarini kolayca birlestirebilir, kopyalayabilir ve manipule edebilirsiniz. Bu kabiliyet, karmasik veri duzenlemelerinin yonetimini basitlestirir.
2.1.7 Veri Sistemleri ile Entegrasyon
IronXL, veritabanlari ve veri kaynaklari ile sorunsuz bir sekilde entegre olur. Excel dosyalarina veri aktarma ve Excel dosyalarindan veri alma işlemlerini destekler. Bu özellik, dinamik veri raporlama ve analiz gerektiren uygulamalar icin esastir.
3. Visual Studio Code'da Proje Kurulumu
IronXL ve OpenPyXL kutuphanelerini test etmeye başlamak icin, Python geliştirimi icin özellikle duzenlenmis bir projeyi Visual Studio Code'da kurmamiz gerekmektedir.
3.1 On Gereksinimler
Başlamadan once, Visual Studio Code'un bilgisayarinizda yuklu oldugundan emin olun. Ayrica, Python'un yuklu olmasi ve Visual Studio Code icin Python uzantisinin bulunmasi gerekiyor. Bu uzanti, Visual Studio Code'un Uzantilar gorunumunden dogrudan eklenebilir.
3.2 Proje Konfigurasyonu
Sisteminize yepyeni bir klasor oluşturarak başlayin ve bu, projeniz icin calisma alani olarak hizmet verecektir. Bu, VS Code'un Dosya menusu altindan Klasor Ac secenegi kullanilarak kolayca yapilabilir.
3.3 Ortam Kurulumu
Visual Studio Code icinde, bagimliliklari duzgun bir sekilde yonetmek icin bir sanal ortam oluşturmak tavsiye edilir. Bu, Visual Studio Code'un entegre terminalini kullanarak yapilabilir. Visual Studio Code, bu sureci basitlestirmek icin Python uzantisinda bir arayuz de saglar. Python uzantisinin komut paleti araciligiyla sanal bir ortam oluşturup aktifleştirebilir, komutlari manuel olarak yazmaniza gerek kalmadan yapabilirsiniz.
VS Code'da Ctrl+Shift+P tuşuna basın, "Python: Ortam Oluştur" ifadesini arayın ve üzerine tıklayın.

Acilir listeden bir ortam turu secin. Bizim durumda, ".venv" olacak:

Sonrasinda Python interpreter yolunu secin:

Bu, klasorun icinde sanal Python ortamini oluşturacaktir.

4. Python Icin IronXL Kutuphanesini Yükleme
Visual Studio Code'ta IronXL kutuphanesini yuklemek basit bir işlemdir. IronXL, Microsoft Office'in yuklu olmasini gerektirmedigi icin özellikle faydalidir, bunun yerine .NET cercevesi uzerinde calisir.
4.1 On Gereksinimler
IronXL'i yuklemeden önce, ortaminizin Python ve Visual Studio Code ile hali hazirda konfigure edildiginden emin olun. IronXL'in calismasi icin .NET teknolojilerine dayandigi icin makinenizde .NET 6.0 runtime'in yuklu olmasi onemlidir. Linux veya macOS gibi .NET ile donanimli olmayan sistemler icin, bu ozelligi .NET resmi web sitesinden indirmeniz gerekebilir.
4.2 Yukleme Adimlari
IronXL'i yuklemek icin pip paket yoneticisini kullanin, bu Python kutuphanelerinin yuklenmesini basitlestirir. Visual Studio Code icindeki terminalde bu adimlari izleyin:
- Terminali Acin: Terminale, Visual Studio Code uzerinde Ctrl+` kisayolunu kullanarak veya ust menuden Terminal > Yeni Terminal navigasyonu ile erisebilirsiniz.
Pip Yukleme Komutunu Calistirin: Terminale su komutu yazin ve Enter'a basin:
pip install IronXL
Yukarıdaki
pip installkomutu, IronXL kütüphanesini ve çalışması için gereken tüm bağımlılıkları indirip yükleyecektir.

Kurulumu Dogrulayin: Yukleme sureci tamamlandiktan sonra, yeni bir Python script'e import etme denemesi yaparak IronXL'in dogru bir sekilde yuklendigini dogrulayabilirsiniz:
from ironxl import *from ironxl import *PYTHONEger hatalar gorunmuyorsa, kutuphane basariyla yuklenmistir ve kullanıma hazirdir.
4.3 Ek Hususlar
IronXL'i yuklerken bagimliliklar veya .NET ile uyumlulukla ilgili sorunlarla karsilasirsaniz, sistem gereksinimlerinin IronXL dokümantasyonu tarafindan belirtilen sekilde karsilandigindan emin olun. Isletim sisteminize bagli olarak sistem yollarini ayarlamak veya ek destek kutuphanelerini yuklemek gerekebilir.
Bu talimatlari izleyerek, IronXL Visual Studio Code'daki Python ortaminizda yüklenecek ve Python projeleriniz icinde Excel dosyasi manipülasyonu ve veri işleme kabiliyetlerini arttıracak.
5. OpenPyXL Python Kutuphanesini Yukleme
5.1 OpenPyXL Yukleme
OpenPyXL'in yuklenmesi, Python'un paket yukleyicisi pip araciligiyla yapilabilir. Bu kutuphaneyi sanal bir ortamda yuklemek, diğer Python projeleri veya sistem paketleriyle catismalarin onlenmesi icin tavsiye edilir.
Pip kullanarak OpenPyXL yükleme: Visual Studio Code veya Python ortamınızın aktif olduğu tercih ettiğiniz ortamda komut satırı arayüzünü (CLI) açın. Aşağıdaki komutu girin:
pip install openpyxlpip install openpyxlSHELLBu komut, gerekli olabilecek tüm bağımlılıklarla birlikte OpenPyXL kütüphanesini indirir ve yükler.

İsteğe Bağlı Bağımlılıklar: Görseller ekleme veya büyük dosyalarla çalışma gibi gelişmiş kullanımlar için OpenPyXL, lxml ve Pillow gibi ek kütüphanelerin yüklenmesini önerir. Bunları yüklemek için şunu kullanın:
pip install lxml pillowpip install lxml pillowSHELL
5.2 Yüklemeyi Doğrulama
Yüklemeden sonra, Python betiğinizde OpenPyXL modülünü içe aktarmaya çalışarak OpenPyXL'in doğru bir şekilde yüklendiğini doğrulayabilirsiniz:
from openpyxl import Workbook
wb = Workbook()from openpyxl import Workbook
wb = Workbook()Yukarıdaki kod, hatasız çalıştırılırsa, OpenpyXL projelerinizde kullanılmaya hazır. Bu adımları izleyerek, OpenPyXL'i kolayca kurabilir ve Python uygulamalarınızda Excel dosya işlemlerini otomatik hale getirebilirsiniz.
6. IronXL ve OpenPyXL'in Gelişmiş Özelliklerinin Karşılaştırılması
6.1 IronXL'in Gelişmiş Özellikleri
IronXL, Excel dosya manipülasyonunu geliştirmek için tasarlanmış kapsamlı bir Python kütüphanesidir. Bu araç, Python uygulamalarındaki Excel dosyalarının oluşturulması, düzenlenmesi ve yönetilmesi işlemlerini basitleştirir, temel elektronik tablo işlemlerinden gelişmiş veri işleme gereksinimlerine kadar çeşitli ihtiyaçlara yönelik özellikler sunar.
6.1.1 Veri İçe Aktarma ve Dışa Aktarma
IronXL, XLS, XLSX ve CSV dahil olmak üzere farklı Excel formatlarını işleme konusunda üstünlük sağlar. Kullanıcılar, bu formatlardan örnek veri kolayca içe aktarabilir veya çalışma sayfalarını bu formatlara dışa aktarabilir, böylece esnek veri değişimi ve raporlama çözümleri kolaylaştırılır. Ayrıca, belirli bir sayfa üzerinde çalışmak için aktif sayfayı seçebilirsiniz.
from ironxl import *
workbook = WorkBook.Load("sample.csv")
workbook2 = WorkBook.Load("sample.xlsx")
workbook3 = WorkBook.Load("sample.xls")from ironxl import *
workbook = WorkBook.Load("sample.csv")
workbook2 = WorkBook.Load("sample.xlsx")
workbook3 = WorkBook.Load("sample.xls")6.1.2 Formül ve Hesaplama Desteği
Kütüphane, Excel formüllerini destekler ve bu sayede hesaplamalar Excel sayfası içinde gerçekleştirilebilir. Bir sayfa her düzenlendiğinde, formüller otomatik olarak yeniden hesaplanır, bu da veri tutarlılığını ve doğruluğunu garanti eder.
from ironxl import *
# Create a new Excel workbook
new_workbook = WorkBook()
# Add a worksheet to the workbook
new_worksheet = new_workbook.CreateWorkSheet("NewSheet")
# Set new formulas with different logic
new_worksheet["A1"].Formula = "Average(D1:D5)"
new_worksheet["D1"] = 10
new_worksheet["D2"] = 20
new_worksheet["D3"] = 30
new_worksheet["D4"] = 40
new_worksheet["D5"] = 50
new_worksheet["B1"].Formula = "=D3*D4"
new_worksheet["C1"].Formula = "Min(D1:D5)"
# Force recalculate all formulas in the workbook
new_workbook.EvaluateAll()
# Get the calculated values for each formula
average_value = new_worksheet["A1"].ToArray()[0].FormattedCellValue
product_value = new_worksheet["B1"].ToArray()[0].FormattedCellValue
min_value = new_worksheet["C1"].ToArray()[0].FormattedCellValue
# Save the new workbook to a file with updated formulas and calculated values
new_workbook.SaveAs("sample.xlsx")from ironxl import *
# Create a new Excel workbook
new_workbook = WorkBook()
# Add a worksheet to the workbook
new_worksheet = new_workbook.CreateWorkSheet("NewSheet")
# Set new formulas with different logic
new_worksheet["A1"].Formula = "Average(D1:D5)"
new_worksheet["D1"] = 10
new_worksheet["D2"] = 20
new_worksheet["D3"] = 30
new_worksheet["D4"] = 40
new_worksheet["D5"] = 50
new_worksheet["B1"].Formula = "=D3*D4"
new_worksheet["C1"].Formula = "Min(D1:D5)"
# Force recalculate all formulas in the workbook
new_workbook.EvaluateAll()
# Get the calculated values for each formula
average_value = new_worksheet["A1"].ToArray()[0].FormattedCellValue
product_value = new_worksheet["B1"].ToArray()[0].FormattedCellValue
min_value = new_worksheet["C1"].ToArray()[0].FormattedCellValue
# Save the new workbook to a file with updated formulas and calculated values
new_workbook.SaveAs("sample.xlsx")
6.1.3 Gelişmiş Hücre Biçimlendirme
IronXL geniş hücre biçimlendirme seçenekleri sunar. Kullanıcılar, bir Excel elektronik tablosunda doğrudan kod ile yazı tiplerini, boyutlarını, arka planları, kenarlıkları ve hizalamayı ayarlayabilir. Bu özellik, belirli stil yönergeleri gerektiren veri sunumları ve raporların hazırlanmasına yardımcı olur.
from ironxl import *
License.LicenseKey = "License Code";
workbook = WorkBook()
new_worksheet = workbook.CreateWorkSheet("FinanceData")
selected_range = new_worksheet["B2:B6"]
new_worksheet["B2"].Value = "Revenue"
new_worksheet["B3"].Value = 150000
new_worksheet["B4"].Value = 200000
new_worksheet["B5"].Value = 180000
new_worksheet["B6"].Value = 220000
selected_range.Style.SetBackgroundColor("#4CAF50")
selected_range.Style.Font.Underline = FontUnderlineType.Single
selected_range.Style.Font.Strikeout = False
selected_range.Style.Font.Bold = True
selected_range.Style.Font.Italic = False
selected_range.Style.TopBorder.Type = BorderType.Thin
selected_range.Style.BottomBorder.Type = BorderType.Thin
selected_range.Style.LeftBorder.Type = BorderType.Thin
selected_range.Style.RightBorder.Type = BorderType.Thin
selected_range.Style.TopBorder.SetColor("#000000")
selected_range.Style.BottomBorder.SetColor("#000000")
selected_range.Style.LeftBorder.SetColor("#000000")
selected_range.Style.RightBorder.SetColor("#000000")
selected_range.Style.VerticalAlignment = VerticalAlignment.Center
selected_range.Style.HorizontalAlignment = HorizontalAlignment.Center
selected_range.Style.FillPattern = FillPattern.LessDots
selected_range.Style.Indention = 0
selected_range.Style.WrapText = True
# Save the new workbook to a file with updated formulas and calculated values
workbook.SaveAs("styled.xlsx")from ironxl import *
License.LicenseKey = "License Code";
workbook = WorkBook()
new_worksheet = workbook.CreateWorkSheet("FinanceData")
selected_range = new_worksheet["B2:B6"]
new_worksheet["B2"].Value = "Revenue"
new_worksheet["B3"].Value = 150000
new_worksheet["B4"].Value = 200000
new_worksheet["B5"].Value = 180000
new_worksheet["B6"].Value = 220000
selected_range.Style.SetBackgroundColor("#4CAF50")
selected_range.Style.Font.Underline = FontUnderlineType.Single
selected_range.Style.Font.Strikeout = False
selected_range.Style.Font.Bold = True
selected_range.Style.Font.Italic = False
selected_range.Style.TopBorder.Type = BorderType.Thin
selected_range.Style.BottomBorder.Type = BorderType.Thin
selected_range.Style.LeftBorder.Type = BorderType.Thin
selected_range.Style.RightBorder.Type = BorderType.Thin
selected_range.Style.TopBorder.SetColor("#000000")
selected_range.Style.BottomBorder.SetColor("#000000")
selected_range.Style.LeftBorder.SetColor("#000000")
selected_range.Style.RightBorder.SetColor("#000000")
selected_range.Style.VerticalAlignment = VerticalAlignment.Center
selected_range.Style.HorizontalAlignment = HorizontalAlignment.Center
selected_range.Style.FillPattern = FillPattern.LessDots
selected_range.Style.Indention = 0
selected_range.Style.WrapText = True
# Save the new workbook to a file with updated formulas and calculated values
workbook.SaveAs("styled.xlsx")
6.1.4 Veri Doğrulama ve Sıralama
Veri bütünlüğünü artırmak için IronXL veri doğrulama özellikleri içerir. Ayrıca, büyük veri kümelerini düzenlemek ve analiz etmek için satır aralıkları, sütunlar ve satırları sağlam bir şekilde sıralama yetenekleri sunar.
6.1.5 Belge Güvenliği
IronXL güvenlik özellikleri arasında Excel dosyalarını şifreleme ve şifresini çözme yeteneği vardır. Bu, hassas bilgilerin korunmasını ve yalnızca yetkili kullanıcıların erişmesine izin verilmesini sağlar.
from ironxl import *
# Load a different Excel workbook
workbook = WorkBook.Load("data_file.xlsx")
worksheet = workbook.DefaultWorkSheet
# Open a different protected spreadsheet file
protected_workbook = WorkBook.Load("protected_data.xlsx", "ExcelSecure")
# Apply encryption to the spreadsheet file
workbook.Encrypt("ExcelSecure")
# Clear any existing password protection
workbook.Password = None
# Save changes to the workbook
workbook.Save()
worksheet.ProtectSheet("SheetSecure")
worksheet.UnprotectSheet()
workbook.Save()from ironxl import *
# Load a different Excel workbook
workbook = WorkBook.Load("data_file.xlsx")
worksheet = workbook.DefaultWorkSheet
# Open a different protected spreadsheet file
protected_workbook = WorkBook.Load("protected_data.xlsx", "ExcelSecure")
# Apply encryption to the spreadsheet file
workbook.Encrypt("ExcelSecure")
# Clear any existing password protection
workbook.Password = None
# Save changes to the workbook
workbook.Save()
worksheet.ProtectSheet("SheetSecure")
worksheet.UnprotectSheet()
workbook.Save()
6.1.6 Dönüştürme Yetenekleri
IronXL, XLSX, XLSM, XLTX, XLTM gibi Excel dosyalarını yönetmekle sınırlı değildir. Excel belgelerini JSON, XML, HTML veya ikili formatlara dönüştürebilir ve böylece farklı platformlar ve programlama ortamları arasında veri kullanım olanakları genişler.
from ironxl import *
workbook = WorkBook.Create()
worksheet = workbook.CreateWorkSheet("Sheet1")
worksheet["B1"].Value = "Sample Text"
worksheet["B2"].Style.BottomBorder.SetColor("#0077CC")
workbook.SaveAs("output.xls")
workbook.SaveAs("output.xlsx")
workbook.SaveAs("output.tsv")
workbook.SaveAsCsv("output.csv")
workbook.SaveAsJson("output.json")
workbook.SaveAsXml("output.xml")
workbook.ExportToHtml("output.html")from ironxl import *
workbook = WorkBook.Create()
worksheet = workbook.CreateWorkSheet("Sheet1")
worksheet["B1"].Value = "Sample Text"
worksheet["B2"].Style.BottomBorder.SetColor("#0077CC")
workbook.SaveAs("output.xls")
workbook.SaveAs("output.xlsx")
workbook.SaveAs("output.tsv")
workbook.SaveAsCsv("output.csv")
workbook.SaveAsJson("output.json")
workbook.SaveAsXml("output.xml")
workbook.ExportToHtml("output.html")6.1.7 Sayfa ve Çalışma Kitabı Yönetimi
Kütüphane, kullanıcıların tüm çalışma kitaplarını veya bireysel çalışma sayfalarını oluşturma, yükleme ve manipüle etmelerine izin vererek çalışma kitabı yönetimini basitleştirir. Bu, sayfa ekleme veya silme, sayfa görünürlüğünü ve baskı ayarlarını ayarlamayı içerir.
from ironxl import *
# Load the Excel workbook
workbook = WorkBook.Load("sample.xlsx")
# Create a new worksheet
new_worksheet = workbook.CreateWorkSheet("NewSheet")
# Fill data into the new worksheet
for i in range(1, 21):
new_worksheet[f"A{i}"].Value = f"Data {i}"
new_worksheet[f"B{i}"].Value = 21 - i
new_worksheet[f"C{i}"].Value = i % 5
new_worksheet[f"D{i}"].Value = (i * 3) % 7
# Select a range in the new worksheet
selected_range = new_worksheet["A1:D20"]
# Select column B in the new worksheet
column = new_worksheet.GetColumn(1)
# Sort the range in ascending order based on column A
selected_range.SortAscending()
# Sort the range by column C in ascending order
selected_range.SortByColumn("C", SortOrder.Ascending)
# Sort column B in descending order
column.SortDescending()
# Save the changes
workbook.SaveAs("sortedExcelRange.xlsx")from ironxl import *
# Load the Excel workbook
workbook = WorkBook.Load("sample.xlsx")
# Create a new worksheet
new_worksheet = workbook.CreateWorkSheet("NewSheet")
# Fill data into the new worksheet
for i in range(1, 21):
new_worksheet[f"A{i}"].Value = f"Data {i}"
new_worksheet[f"B{i}"].Value = 21 - i
new_worksheet[f"C{i}"].Value = i % 5
new_worksheet[f"D{i}"].Value = (i * 3) % 7
# Select a range in the new worksheet
selected_range = new_worksheet["A1:D20"]
# Select column B in the new worksheet
column = new_worksheet.GetColumn(1)
# Sort the range in ascending order based on column A
selected_range.SortAscending()
# Sort the range by column C in ascending order
selected_range.SortByColumn("C", SortOrder.Ascending)
# Sort column B in descending order
column.SortDescending()
# Save the changes
workbook.SaveAs("sortedExcelRange.xlsx")
6.1.8 Yeni Satır ve Sütunlar Ekleme
IronXL kullanıcıların mevcut Excel çalışma sayfalarına dinamik olarak yeni satır ve sütunlar eklemelerine olanak tanır. Bu özellik, verilerin değişen ihtiyaçlarına yanıt vermek için veri yapılarında değişiklik yaparken, elektronik tablonun genel düzenini bozmadan kullanışlıdır.
# Add a row before second row
worksheet.InsertRow(1)
# Insert multiple rows before 5th Row
worksheet.InsertRows(4, 4)
# Add a column before column C
worksheet.InsertColumn(2)
# Insert multiple columns before column B
worksheet.InsertColumns(1, 3)# Add a row before second row
worksheet.InsertRow(1)
# Insert multiple rows before 5th Row
worksheet.InsertRows(4, 4)
# Add a column before column C
worksheet.InsertColumn(2)
# Insert multiple columns before column B
worksheet.InsertColumns(1, 3)6.1.9 Satır ve Sütunları Gruplandırma ve Grup Çözme
IronXL ile kullanıcılar satır ve sütunları gruplandırabilir veya grup çözebilir. Bu işlevsellik, verilerin düzenlenmesini geliştirir ve gruplandırılan verilerin gerektiğinde daraltılıp genişletilmesiyle karmaşık veri kümelerinin daha kolay yönetilmesi ve navigasyonunu sağlar.
6.1.10 Excel Satır ve Sütunlarını Tekrar Etme
IronXL, bir çalışma kitabının birden fazla sayfasında satır ve sütunların tekrarlanmasını destekler. Bu, her bir basılı sayfada görünmesi gereken başlık veya alt bilgiler oluşturarak, belgenizin tutarlı bir şekilde sunumunu ve okunabilirliğini artırır.
# Configure rows 2 to 5 to repeat at the top of each printed page
worksheet.SetRepeatingRows(1, 4)
# Configure columns D to F to repeat on the left side of each printed page
worksheet.SetRepeatingColumns(3, 5)
# Insert a page break after column J so that columns A-J appear on the first printed page
worksheet.SetColumnBreak(9)# Configure rows 2 to 5 to repeat at the top of each printed page
worksheet.SetRepeatingRows(1, 4)
# Configure columns D to F to repeat on the left side of each printed page
worksheet.SetRepeatingColumns(3, 5)
# Insert a page break after column J so that columns A-J appear on the first printed page
worksheet.SetColumnBreak(9)6.1.11 Excel Çalışma Sayfalarını Kopyalama
Kullanıcılar IronXL kullanarak aynı çalışma kitabı içinde mevcut çalışma sayfalarını çoğaltabilir. Bu özellik, ortak bir formatı paylaşan birden fazla sayfa oluştururken veya önemli verilerin yedeğini alırken zaman kazandırır. Veri kopyalama işleri için oldukça yardımcıdır.
# Duplicate the worksheet to the same workbook
worksheet.CopySheet("Copied Sheet")
# Duplicate the worksheet to another workbook with the specified name
worksheet.CopyTo(second_book, "Copied Sheet")# Duplicate the worksheet to the same workbook
worksheet.CopySheet("Copied Sheet")
# Duplicate the worksheet to another workbook with the specified name
worksheet.CopyTo(second_book, "Copied Sheet")6.1.12 Çalışma Sayfası Görselleri Ekleme, Çıkarma ve Kaldırma
IronXL çalışma sayfalarına görseller ekleme, bunlardan görseller çıkarma veya kaldırma kabiliyetini sağlar. Bu, elektronik tablo sunumlarının görsel cazibesini artırır ve grafiksel veriler, logolar veya açıklayıcı görseller içeren raporlar için kullanışlıdır.
6.2 OpenPyXL'in Gelişmiş Özellikleri
6.2.1 Koşullu Biçimlendirme
OpenPyXL koşullu biçimlendirmeye izin verir, bu da hücrelerin içerdikleri verilere bağlı olarak stilini değiştirmesine olanak tanır. Buna, sayısal değerlere dayalı renk ayarlaması veya belirli koşullara dayalı farklı yazı tipleri ve stiller uygulama da dahildir, bu da verilerin görsel sunumunu geliştirir.
from openpyxl import Workbook
from openpyxl.formatting.rule import ColorScaleRule
wb = Workbook()
ws = wb.active
color_scale = ColorScaleRule(start_type='num', start_value=10, start_color='FF0000',
end_type='num', end_value=20, end_color='00FF00')
ws.conditional_formatting.add('A1:A10', color_scale)
wb.save('conditional_formatting.xlsx')from openpyxl import Workbook
from openpyxl.formatting.rule import ColorScaleRule
wb = Workbook()
ws = wb.active
color_scale = ColorScaleRule(start_type='num', start_value=10, start_color='FF0000',
end_type='num', end_value=20, end_color='00FF00')
ws.conditional_formatting.add('A1:A10', color_scale)
wb.save('conditional_formatting.xlsx')6.2.2 Veri Doğrulama
OpenPyXL ile, hücrelere girilen veri türünü kontrol etmek için veri doğrulama uygulayabilirsiniz. Bu, açılır listeler ayarlama, girişleri belirli bir tarih veya sayı aralığı ile sınırlama ve geçersiz girdiler için hata mesajları oluşturmayı içerir, bu da veri bütünlüğünün korunmasına yardımcı olur.
from openpyxl import Workbook
from openpyxl.worksheet.datavalidation import DataValidation
wb = Workbook()
ws = wb.active
dv = DataValidation(type="list", formula1='"Item1,Item2,Item3"', allow_blank=True)
ws.add_data_validation(dv)
dv.add('A1')
ws['A1'] = 'Item1'
wb.save('data_validation.xlsx')from openpyxl import Workbook
from openpyxl.worksheet.datavalidation import DataValidation
wb = Workbook()
ws = wb.active
dv = DataValidation(type="list", formula1='"Item1,Item2,Item3"', allow_blank=True)
ws.add_data_validation(dv)
dv.add('A1')
ws['A1'] = 'Item1'
wb.save('data_validation.xlsx')
6.2.3 Grafikler
Kütüphane, çizgi, bar, pasta ve dağılım grafikleri gibi çeşitli grafik türlerini oluşturmayı ve özelleştirmeyi destekler. Bu özellik, verilerin doğrudan Excel sayfalarında görselleştirilmesini sağlar, böylece daha iyi veri analizi ve raporlama sağlar. Grafik çizim satırını tarif ederiz ve grafikte gösterilecek değerlerin referansını seçeriz.
from openpyxl import Workbook
from openpyxl.chart import BarChart, Reference
wb = Workbook()
ws = wb.active
for i in range(10):
ws.append([i])
values = Reference(ws, min_col=1, min_row=1, max_col=1, max_row=10)
chart = BarChart()
chart.add_data(values)
ws.add_chart(chart, "E5")
wb.save("chart.xlsx")from openpyxl import Workbook
from openpyxl.chart import BarChart, Reference
wb = Workbook()
ws = wb.active
for i in range(10):
ws.append([i])
values = Reference(ws, min_col=1, min_row=1, max_col=1, max_row=10)
chart = BarChart()
chart.add_data(values)
ws.add_chart(chart, "E5")
wb.save("chart.xlsx")
6.2.4 Hücreleri Birleştirme ve Birleştirmeyi Geri Alma
OpenPyXL, genellikle başlıkları biçimlendirmek veya verileri düzenlemek için yararlı olan, birden fazla hücreyi birleştirerek tek bir daha büyük hücre oluşturma yeteneği sağlar. Ayrıca, ihtiyaç duyulursa bu hücrelerin birleştirmelerini geri alabilir veya bireysel hücrelere bölünebilir.
6.2.5 Yorumları Okuma ve Yazma
Hücrelere yorum okuma ve yazma işlemleri yapabilirsiniz, böylece Excel dosyasına ek notlar veya talimatlar eklenebilir. Bu özellik, kullanıcılar arasında paylaşılması gereken notlar ve yönergeler için özellikle kullanışlıdır.
from openpyxl import Workbook
from openpyxl.comments import Comment
wb = Workbook()
ws = wb.active
comment = Comment(text="This is a comment", author="Author")
ws['A1'].comment = comment
wb.save('comments.xlsx')from openpyxl import Workbook
from openpyxl.comments import Comment
wb = Workbook()
ws = wb.active
comment = Comment(text="This is a comment", author="Author")
ws['A1'].comment = comment
wb.save('comments.xlsx')6.2.6 Pivot Tabloları
Kütüphane, çalışma sayfalarınızdan veri kullanarak pivot tabloları oluşturma yeteneği sunar. Bu güçlü araç, verilerinizi kapsamlı bir şekilde özetlemeye, analiz etmeye, keşfetmeye ve sunmaya yardımcı olur; bu da büyük veri setlerinden sonuç çıkarmayı ve bilinçli kararlar almayı kolaylaştırır.
7. Dökümantasyon ve Destek
7.1 IronXL for Python Belgeleri ve Destek
Belgeler: IronXL, Python geliştiricileri için kapsamlı belgeler sunar. Nasıl Excel belgeleri okunur, yazılır ve düzenlenir, çalışma kitapları nasıl yönetilir, hücreler nasıl stilize edilir ve programatik olarak veriler nasıl sıralanır gibi geniş bir konuları kapsar. Belgeler, geliştiricilerin IronXL işlevlerini uygulamalarına hızlı bir şekilde entegre etmelerine yardımcı olacak çok sayıda kod örneği ile takviye edilmiş, basit olacak şekilde tasarlanmıştır.
Destek: IronXL, güçlü destek seçenekleri sunar. Geliştiriciler, kapsamlı SSS bölümü, çevrimiçi ayrıntılı belgeler ve doğrudan e-posta yardımı ile destek alabilir. Daha karmaşık sorular veya acil yardım için, mühendislik ekibiyle doğrudan iletişime geçme seçeneği vardır.
7.2 OpenPyXL Belgeleri ve Destek
Belgeler: OpenPyXL'in belgeleri kapsamlı ve iyi organize edilmiştir; geliştiricilere ilk adımlardan, hata mesajları ile veri doğrulamaya ve koşullu biçimlendirme gibi gelişmiş özelliklere kadar rehberlik sunar. Belgeler, hem yeni başlayanlar hem de deneyimli kullanıcılar için yararlı olan ayrıntılı açıklamalar ve kod parçacıkları içerir.
Destek: OpenPyXL, ağırlıklı olarak resmi depolarındaki topluluk forumları ve sorun izleyicileri aracılığıyla destek sağlar. Geliştiriciler GitHub'da sorun yayınlayabilir ve kütüphaneye katkıda bulunabilir, bu da onu işbirlikçi ve sürekli gelişen bir araç haline getirir.
8. Lisans Bilgileri
8.1 IronXL Lisansı
IronXL, çeşitli ortamlarda kütüphaneyi herhangi bir devam eden maliyet olmadan kullanabilmeyi garanti eden, farklı proje gereksinimlerine uygun birkaç süresiz lisans seçeneği sunar.
- Lite Lisans: Fiyatı $799, bu seçenek 1 geliştirici, 1 konum ve 1 proje için uygundur. E-posta desteğini içerir.
- Plus Lisans: $1,499 fiyatla, 3 geliştirici, 3 konum ve 3 projeyi kapsar. E-posta desteği, 7/24 sohbet desteği ve telefon desteği içerir.
- Profesyonel Lisans: $2,999'da, bu en kapsamlı pakettir ve 10 geliştirici, 10 konum ve 10 projeyi destekler. Plus lisansı ile aynı destek seçeneklerini sunar, ayrıca derinlemesine yardım için ekran paylaşımı desteği de sunar.
Ek seçenekler arasında:
- Telif Ücretsiz Yeniden Dağıtım Kapsamı: IronXL'in paketlenmiş yazılım ürünleri, SaaS ve OEM uygulamaları içinde dağıtılması gerektiğinde gereklidir. Bu Lite lisansı için mevcut değildir ve Plus veya Profesyonel lisanslarla birlikte satın alınması gerekir.
- Genişletilmiş Ürün Desteği & Güncellemeler: Geliştiriciler, 1 yıllık ücretsiz seçenek veya $499 için 5 yıllık paket ile sürekli destek ve güncellemeleri seçebilir. Bu, güvenlik özellik güncellemelerini ve mühendislik ekibinden doğrudan desteği içerir.
Her lisans, geliştiricilerin IronXL'yi risksiz test etmelerine olanak tanıyan 30 günlük para iade garantisi de içerir. Bu lisans koşulları, farklı kapsam ve büyüklükteki projeler için IronXL'yi esnek bir seçenek haline getirir ve farklı profesyonel ortamlarda uygulama yolları sağlar.
8.2 OpenPyXL Lisansı
OpenPyXL, bir serbest yazılım lisansı olan MIT lisansı altında dağıtılmaktadır. Bu, hem açık kaynaklı hem de tescilli yazılımlar için kullanıma önemli bir özgürlük tanıdığı anlamına gelir. MIT lisansı, lisanslı tüm yazılım kopyalarına MIT Lisans şartları ve telif hakkı bildiriminin eklenmesi koşuluyla tescilli yazılım içinde tekrar kullanılmasına izin verir.
9. Sonuç

IronXL ve OpenPyXL incelememizde, özelliklerini, kullanılabilirliğini, destek seçeneklerini ve lisanslamayı inceledik. Her iki kütüphane de Excel dosyalarını yönetmek için mükemmeldir, ancak farklı ihtiyaçlara hitap ederler.
IronXL, karmaşık Excel işlemlerine olanak tanıyan kapsamlı özellikleri sayesinde öne çıkar, Microsoft Office gerektirmeden. Detaylı dokümantasyon ve güçlü teknik destek sunar, bu da büyük projeler veya işletmeler için güvenilir bir seçim haline getirir. Veri bilimcileri, veri kopyalama, veri madenciliği, veri analizi ve birçok başka görev için IronXL'yi kullanır. IronXL lisansları $799'den başlar, ancak ücretsiz bir deneme sürümü içerir. Bu deneme, geliştiricilerin IronXL'nin yeteneklerini satın almadan önce tamamen test etmelerine olanak tanır, bu da ciddi bir proje için büyük bir avantajdır.
OpenPyXL, grafikler gibi gelişmiş Excel özellikleriyle özellikle güçlüdür, örneğin çizgi grafikleri ve koşullu biçimlendirme. Hem açık kaynaklı hem de ticari kullanım için esneklik sunan MIT lisansı altında mevcuttur. Desteği topluluk tarafından sağlanır, bu harikadır, ancak IronXL'nin sağladığı yapılandırılmış desteğe sahip değildir.
Projenizin yüksek düzeyde özelliklere ve profesyonel ve sürekli desteğe ihtiyaçı varsa, IronXL daha iyi bir seçimdir. Başlangıçta maliyeti olabilir, ancak sunduğu faydalar ve güvenlik için yapılan yatırım, özellikle karmaşık veya uzun vadeli projeler için değerlidir.
Sıkça Sorulan Sorular
IronXL ve OpenPyXL'nin başlıca fonksiyonları nelerdir?
Hem IronXL hem de OpenPyXL, Excel elektronik tablo dosyalarını yönetmek için tasarlanmıştır ve geliştiricilerin Excel belgelerini okuma, yazma ve düzenleme gibi görevler yapmasına olanak tanır. Formül oluşturma, hücre biçimlendirme ve geniş veri kümelerini ele alma gibi gelişmiş işlevleri desteklerler.
Microsoft Excel olmadan Excel dosyalarını nasıl işleyebilirim?
IronXL, Microsoft Excel yüklü olmadan Excel dosyalarını işlemeye olanak tanır. .NET çerçevesinde bağımsız olarak çalışır ve çeşitli platformlarda güçlü Excel dosyası işleme yetenekleri sunar.
Excel dosya manipülasyonu için IronXL kullanmanın ne gibi faydaları vardır?
IronXL, platformlar arası destek, gelişmiş hücre biçimlendirme, veri doğrulama, belge güvenliği ve JSON, XML, HTML gibi çeşitli formatlara dönüşüm yetenekleri gibi faydalar sunar. Kapsamlı özellikler ve profesyonel destek gerektiren karmaşık projeler için uygundur.
OpenPyXL grafik ve pivot tablo oluşturmayı destekliyor mu?
Evet, OpenPyXL, Excel sayfaları içinde veri görselleştirme ve kapsamlı veri analizi sağlamak amacıyla çeşitli grafik türleri ve pivot tablolar oluşturmayı destekler.
IronXL kullanmak için ticari lisansa gerek var mı?
Evet, IronXL, güçlü teknik destek ve kapsamlı Excel dosyası işleme yetenekleri sunan çeşitli destek seçenekleri ile ticari bir lisans sunar.
OpenPyXL, Excel formül entegrasyonunu nasıl ele alır?
OpenPyXL, Excel sayfaları içinde formülleri yönetebilir ve değerlendirebilir; bu, karmaşık veri işlemlerine ve dosya işleme sırasında veri bütünlüğünü korumaya olanak tanır.
OpenPyXL kullanıcıları için hangi destek seçenekleri mevcuttur?
OpenPyXL, forumlar ve GitHub üzerinden topluluk odaklı bir destek sunar, sorun gidermeye yönelik işbirlikçi bir yaklaşım sunarken, IronXL doğrudan e-posta, sohbet ve telefon yoluyla destek sağlar.
IronXL hangi Excel formatlarını destekler?
IronXL, geliştiricilerin farklı türde Excel belgeleriyle çalışmasına olanak tanıyan ve çeşitli veri formatları arasında kapsamlı dönüştürme yetenekleri sağlayan çeşitli Excel dosya formatlarını destekler.
IronXL ve OpenPyXL platform uyumluluğu açısından nasıl farklılaşır?
IronXL, uygulamalar için farklı işletme ortamlarında çok yönlülük sağlayarak Windows, macOS ve Linux ile uyumludur. OpenPyXL esas olarak Python ortamlarında kullanılır ve XLSX dosya işleme üzerine odaklanır.










