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

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üphanesi olan 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ı daha etkili ve verimli bir şekilde ele almayı kolaylaştıran benzersiz özellikler sunar.

IronXL ve OpenPyXL, geliştiricilere elektronik tablo işlemlerini otomatikleştirme, Excel tablosu hücrelerini düzenleme ve örnek veri çıkarma imkanı sunar. Ayrıca, formül oluşturma, hücreleri stilize etme ve büyük veri setlerini sorunsuz bir şekilde ele alma gibi gelişmiş özellikleri desteklerler. Bu, performans veya uyumluluktan ödün vermeden çeşitli ortamlarda Excel dosyalarını yönetebilen uygulamaların oluşturulmasını sağlar.

Bu karşılaştırmada, her kütüphanenin benzersiz özelliklerini ve nasıl çalıştıklarını keşfedeceğiz. Lisans bilgilerini de ele alacağız. IronXL ve OpenPyXL'nin farklılıklarına ve yeteneklerine göz atalım, geliştiriciler için net ve faydalı bilgiler odak noktası olacak şekilde.

1. OpenPyXL Kütüphanesi

OpenPyXL, XLSX formatındaki Excel dosyalarını ele almak için tasarlanmış bir Python kütüphanesidir. Kütüphane, geliştiricilerin Excel dosyalarını okuması, yazması ve değiştirmesini sağlar. OpenPyXL modülü, veri manipülasyonu, biçimlendirme ve grafik ve pivot tablolar gibi ileri düzey özellikler dahil olmak üzere çeşitli Excel fonksiyonlarını destekler.

1.1 OpenPyXL'nin Temel Özellikleri

1.1.1 Elektronik Tablo Yönetimi

OpenPyXL, çalışma kitapları oluşturma ve düzenlemede üstünlük sağlar. Boş bir çalışma kitabı ile başlayabilir veya mevcut olan birini değiştirebilir, sayfa ekleyip çıkarabilir ve sayfalar arasında kolayca gezinebilirsiniz. Bu, rapor oluşturma ve veri girişlerini otomatikleştirme gibi görevler için mükemmeldir.

1.1.2 Veri İşleme

Bu kütüphane, satır ekleme, formüller ekleme ve aktif sayfaya stiller uygulama gibi ileri düzey veri işleme yeteneklerini destekler. Veri analizi ve rapor oluşturma gibi görevleri kolaylaştırarak hücre değerlerini programlı olarak ayarlayabilirsiniz.

1.1.3 Stil ve Biçimlendirme

OpenPyXL ile yazı tipleri, renkler ve kenarlıklar gibi hücre biçimlendirmeleri uygulayabilirsiniz. Ayrıca, profesyonel olarak stilize edilmiş Excel raporları oluşturmak için gerekli olan, koşullu biçimlendirme ve hizalama gibi hücre özelliklerini ayarlama konularını da destekler.

1.1.4 Grafikler ve Görseller

OpenPyXL, elektronik tablolara grafiksel öğeler ekleyebilir. Verileri görselleştirmek için grafik ekleyebilir ve bilgi sunumunu geliştirmek için görseller ekleyebilirsiniz. Bu özellik, özellikle kontrol panelleri ve karmaşık raporlar oluşturmak için faydalıdır.

1.1.5 Formül ve Fonksiyon Entegrasyonu

Kütüphane, hücrelere Excel formüllerinin entegrasyonuna olanak tanır, böylece elektronik tablolardaki hesaplamalar otomatik hale gelir. Ayrıca, daha okunabilir ve sürdürülebilir sayfalar oluşturmak için veri organize etmede çok kullanışlı olan adlandırılmış aralıkların oluşturulmasını da destekler.

1.1.6 Veri Doğrulama ve Otomasyon

OpenPyXL, veri bütünlüğünü sağlamak ve bilgiyi etkili bir şekilde organize etmek için kritik olan veri doğrulama ve sıralama araçları sağlar. Ayrıca, Excel dosyaları içinde büyük veri yığınlarını yönetmeyi kolaylaştıran veri filtreleme özellikleri sunar.

1.1.7 Açık Kaynak

Bir açık kaynak kütüphanesi olarak, OpenPyXL, canlı bir topluluğun sürekli katkılarından yararlanır, bu da onun güncel ve özellik bakımından zengin kalmasını sağlar. Bu topluluk katılımı, kütüphaneyi kullanan geliştiriciler için geniş bir kaynak ve destek havuzu sağlar.

2. IronXL Kütüphanesi

IronXL, Microsoft Excel'e ihtiyaç duymadan Excel dosyalarını işlemek için tasarlanmış sağlam bir Python kütüphanesidir. Python ortamlarında çeşitli Excel görevlerini doğrudan ele alma konusunda basitliği ve etkinliği ile tercih edilir.

2.1 IronXL'nin Ana Özellikleri

2.1.1 Çalışma Kitabı Yönetimi

IronXL, XLS, XLSX, ve CSV gibi Excel formatlarını oluşturma, yükleme ve kaydetmeyi basitleştirir. Farklı Excel sürümleriyle uyumluluğu sağlar ve Excel verilerini programlı olarak yönetmek için kapsamlı işlevler sunar.

2.1.2 Veri Manipülasyonu

IronXL ile verileri verimli bir şekilde sıralayabilir, satır ve sütunları yönetebilir, ve hücre biçimlendirmesini özelleştirebilirsiniz. Bu, veri türlerini ayarlamayı, formülleri ve hücrelerde Excel fonksiyonlarını uygulamayı içerir.

2.1.3 Gelişmiş Biçimlendirme

IronXL hücreler için geniş stil seçenekleri sunar, fontları, kenarlıkları ve arka plan renklerini ayarlamayı da içerir. Koşullu biçimlendirme gibi gelişmiş Excel özelliklerini destekler ve çalışma sayfaları için baskı seçeneklerini ayarlayarak Excel raporlarınızın okunabilirliğini ve sunumunu artırır.

2.1.4 Güvenlik Özellikleri

Kütüphane, meta verileri düzenlemeyi, izinleri yönetmeyi ve dosyaları parola koruması eklemeyi destekler, böylece hassas veriler korunur.

2.1.5 Çapraz Platform Desteği

IronXL, Windows, macOS ve Linux dahil birden çok işletim sisteminde çalışmak üzere tasarlanmıştır, böylece geliştiriciler uygulamalarını çeşitli platformlarda uyumluluk sorunları olmadan dağıtabilir.

2.1.6 Sayfa ve Hücre Aralığı İşlemleri

IronXL, sayfa aralıklarını ve bireysel hücreleri ele almak için sağlam fonksiyonlar sunar. Hücre aralıklarını kolayca birleştirip, kopyalayabilir ve manipüle edebilirsiniz. Bu özellik, karmaşık veri yapılarını yönetmeyi basitleştirir.

2.1.7 Veri Sistemleri ile Entegrasyon

IronXL, veritabanları ve veri kaynakları ile sorunsuz bir şekilde entegre olur. Verilerin Excel dosyalarına ve dosyalarından içe ve dışa aktarılmasını destekler. Bu özellik, dinamik veri raporlama ve analitik gerektiren uygulamalar için esastır.

3. Visual Studio Code'da Proje Kurulumu

IronXL ve OpenPyXL kütüphanelerini test etmeye başlamak için, Python geliştirmeye özel hazırlanmış bir projeyi Visual Studio Code'da kurmamız gerekiyor.

3.1 Gereksinimler

Başlamadan önce, bilgisayarınıza Visual Studio Code'un yüklü olduğundan emin olun. Ayrıca Python'un yanı sıra Visual Studio Code için Python uzantısının da yüklü olması gereklidir. Bu uzantı Visual Studio Code'daki Uzantılar görünümünden doğrudan eklenebilir.

3.2 Proje Yapılandırması

Sisteminizde, projeniz için çalışma alanı olarak hizmet verecek yeni bir klasör oluşturarak başlayın. Bunu, VS Code'un Dosya menüsünden Açık klasör seçeneği kullanarak kolayca yapabilirsiniz.

3.3 Ortam Kurulumu

Visual Studio Code içinde, bağımlılıkları temiz bir şekilde yönetmek için sanal bir ortam kurmanı öneririz. Bunu Visual Studio Code'daki entegre terminalden yapabilirsiniz. Visual Studio Code, bu süreci basitleştirmek için Python uzantısında bir arayüz de sunar. Python uzantısının komut paleti aracılığıyla komutları manuel olarak yazmadan sanal bir ortam oluşturup aktif hale getirebilirsiniz.

VS Code'da Ctrl+Shift+P tuşuna basın, "Python: Create Environment" arayın ve üzerine tıklayın.

OpenpyXL Python ve IronXL for Python Karşılaştırması: Şekil 1 - Ortam Kurulumu

Açılır listeden bir ortam türü seçin. Bizim durumda, bu ".venv" olacaktır:

OpenpyXL Python ve IronXL for Python Karşılaştırması: Şekil 2 - .venv

Ardından Python yorumlayıcısının yolunu seçin:

OpenpyXL Python ve IronXL for Python Karşılaştırması: Şekil 3 - Yorumlayıcı Yolu

Bu, klasör içinde sanal bir Python ortamı oluşturacaktır.

OpenpyXL Python ve IronXL for Python Karşılaştırması: Şekil 4 - Sanal Ortam

4. IronXL for Python Kütüphanesini Kurun

IronXL kütüphanesini Visual Studio Code'da kurmak basit bir işlemdir. IronXL, Microsoft Office yüklü olmasını gerektirmemesi bakımından özellikle kullanışlıdır, bunun yerine .NET framework üzerinde çalışır.

4.1 Gereksinimler

IronXL'i kurmadan önce, ortamınızın Python ve Visual Studio Code ile yapılandırılmış olduğundan emin olun. IronXL, .NET teknolojilerine dayandığı için bilgisayarınızda .NET 6.0 çalıştırma süresinin yüklü olması önemlidir. Linux veya macOS gibi .NET ile donatılmamış sistemler için, bunu .NET'in resmi web sitesinden indirmeniz gerekebilir.

4.2 Kurulum Adımları

IronXL'i kurmak için Python kütüphanelerinin kurulumunu basitleştiren pip paket yöneticisini kullanın. Visual Studio Code'daki terminalde şu adımları izleyin:

  1. Terminali Açın: Visual Studio Code'da Ctrl+` kısayolunu kullanarak veya üst menüden Terminal > Yeni Terminal yoluyla terminale erişin.
  2. Pip Kurulum Komutunu Yürütün: Terminalde şu komutu yazıp Enter'a basın:

    pip install IronXL

    Yukarıdaki pip install komutu, IronXL kütüphanesini ve çalışması için gereken bağımlılıkları indirip yüklüyor.

OpenpyXL Python ve IronXL for Python Karşılaştırması: Şekil 5 - IronXL

  1. Kurulumu Onaylayın: Kurulum işlemi tamamlandıktan sonra, yeni bir Python betiğinde IronXL'i import etmeye çalışarak kurulumun doğru yapıldığını doğrulayabilirsiniz:

    from ironxl import *
    from ironxl import *
    PYTHON

    Hata görünmüyorsa, kütüphane başarıyla kurulmuş ve kullanıma hazırdır.

4.3 Ek Hususlar

IronXL'i kurarken, .NET ile ilgili bağımlılık veya uyum sorunlarıyla karşılaşırsanız, IronXL belgelendirmesinde belirtilen tüm sistem gereksinimlerinin karşılandığından emin olun. Çalıştırma sistemi paths veya ek destek kütüphaneleri kurmanız, işletim sisteminize bağlı olarak gerekebilir.

Bu talimatları izleyerek, IronXL'i Visual Studio Code içindeki Python ortamınıza kurabilirsiniz; bu da Python projelerinizde Excel dosyalarını işleme ve veri işleme yeteneklerinizi artırır.

5. OpenPyXL Python Kütüphanesini Kurun

5.1 OpenPyXL Kurulumu

OpenPyXL'nin kurulumu, Python'un paket yükleyicisi olan pip kullanılarak yapılabilir. Bu kütüphaneyi, diğer Python projeleri veya sistem paketleriyle çakışmaları önlemek için sanal bir ortamda kurmanız önerilir.

  1. OpenPyXL'i kurmak için pip kullanarak: Visual Studio Code'daki komut satırı arayüzünü (CLI) veya Python ortamınızın aktif olduğu tercih ettiğiniz ortamı açın. Aşağıdaki komutu girin:

    pip install openpyxl
    pip install openpyxl
    SHELL

    Bu komut, OpenPyXL kütüphanesini ve gereken bağımlılıkları indirip kurar.

OpenpyXL Python ve IronXL for Python Karşılaştırması: Şekil 6 - OpenPyXL

  1. Opsiyonel Bağımlılıklar: Resim ekleme veya büyük dosyalarla çalışma gibi gelişmiş kullanım için, OpenPyXL lxml ve Pillow gibi ek kütüphaneleri kurmanızı önerir. Bunları kurmak için kullanın:

    pip install lxml pillow
    pip install lxml pillow
    SHELL

5.2 Kurulumu Doğrulama

Kurulumdan sonra, Python betiğinizde OpenPyXL modülünü import etmeye çalışarak OpenPyXL'nin doğru kurulduğunu doğrulayabilirsiniz:

from openpyxl import Workbook

wb = Workbook()
from openpyxl import Workbook

wb = Workbook()
PYTHON

Yukarıdaki kod hatasız çalışırsa, OpenPyXL projelerde kullanım için hazırdır. Bu adımları izleyerek, OpenPyXL'i kolayca kurabilir ve Python uygulamalarınızda Excel dosyası işlemlerini otomatikleştirmeye başlayabilirsiniz.

6. IronXL ve OpenPyXL'deki Gelişmiş Özelliklerin Karşılaştırılması

6.1 IronXL'nin Gelişmiş Özellikleri

IronXL, Excel dosya manipülasyonunu geliştirmek için tasarlanmış kapsamlı bir Python kütüphanesidir. Bu araç, Python uygulamaları içinde Excel dosyalarını oluşturma, düzenleme ve yönetme sürecini basitleştirir, temel hesap tablosu işlemlerinden gelişmiş veri işleme işlemlerine kadar çeşitli ihtiyaçlara hitap eden bir dizi özellik sunar.

6.1.1 Veri İçe ve Dışa Aktarma

IronXL, XLS, XLSX ve CSV dahil olmak üzere farklı Excel formatlarını ele alma konusunda başarılıdır. Bu formatlardan örnek verileri kolayca içe aktarabilir veya çalışma sayfalarını dışa aktarabilir, çeşitli veri değişim ve raporlama çözümlerine olanak tanır. Üzerinde çalışmak için belirli bir sayfayı aktif sayfa olarak da 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")
PYTHON

6.1.2 Formül ve Hesaplama Desteği

Kütüphane Excel formüllerini destekler, Excel sayfası içinde hesaplamaların yapılmasına olanak tanır. Her sayfa düzenlendiğinde, formüller otomatik olarak yeniden hesaplanır, veri tutarlılığını ve doğruluğunu sağlar.

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")
PYTHON

OpenpyXL Python ve IronXL for Python Karşılaştırması: Şekil 7 - Formül çıktısını kullanarak veri yazma

6.1.3 Gelişmiş Hücre Biçimlendirmesi

IronXL, kapsamlı hücre biçimlendirme seçenekleri sunar. Kullanıcılar fontlar, boyutlar, arka planlar, kenarlıklar ve hizalamaları Excel hesap tablosu üzerinde doğrudan kodla ayarlayabilir. Bu özellik, belirli stil kılavuzlarına ihtiyaç duyan veri sunumları ve raporlar hazırlamaya 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")
PYTHON

OpenpyXL Python ve IronXL for Python Karşılaştırması: Şekil 8 - Hücre Biçimlendirme Çıkışı

6.1.4 Veri Doğrulama ve Sıralama

Veri bütünlüğünü artırmak için IronXL, veri doğrulama özelliklerini içerir. Ayrıca, aralıklar, sütunlar ve satırları sıralamak için sağlam yetenekler sağlar, büyük veri setlerini düzenlemeyi ve analiz etmeyi kolaylaştırır.

6.1.5 Doküman Güvenliği

IronXL'deki güvenlik özellikleri, Excel dosyalarını şifreleme ve şifresini çözme yeteneğini içerir. Bu, hassas bilgilerin korunmasını ve yalnızca yetkili kullanıcılar tarafından erişilebilmesini 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()
PYTHON

OpenpyXL Python ve IronXL for Python Karşılaştırması: Şekil 9 - Parola Koruma Çalışma Kitabı Nesnesi Çıkışı

6.1.6 Dönüşüm Yeteneği

IronXL, XLSX, XLSM, XLTX, XLTM dosyaları gibi Excel dosyalarını ele almakla sınırlı değildir. Ayrıca Excel belgelerini JSON, XML, HTML veya ikili formatlara dönüştürebilir, farklı platformlar ve programlama ortamlarında veri kullanımı olanaklarını genişletir.

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")
PYTHON

6.1.7 Sayfa ve Çalışma Kitabı Yönetimi

Kütüphane, kullanıcıların tüm çalışma kitapları veya bireysel çalışma sayfalarını oluşturma, yükleme ve manipüle etmesine olanak tanıyarak çalışma kitabı yönetimini basitleştirir. Bu, sayfa eklemek veya silmek, ayrıca sayfa görünürlüğü ve baskı ayarlarını ayarlamak gibi işlemleri 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")
PYTHON

OpenpyXL Python ve IronXL for Python Karşılaştırması: Şekil 10 - Sayfa Yönetimi Çıkışı

6.1.8 Yeni Satır ve Sütun Ekle

IronXL, mevcut Excel çalışma sayfalarına dinamik olarak yeni satır ve sütun eklemeyi sağlar. Bu özellik, veri yapılarını değişen veri ihtiyaçlarına yanıt olarak modifiye etmek için özellikle faydalıdır ve hesap tablosunun genel düzenini bozmadan.

# 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)
PYTHON

6.1.9 Satır ve Sütunları Gruplandır ve Gruplamayı Kaldır

IronXL ile kullanıcılar, satır ve sütunları gruplandırabilir veya grubu kaldırabilir. Bu işlevsellik, verilerin daha iyi organize edilmesi ve karmaşık veri setlerinin daha kolay gezinmesi ve yönetilmesine olanak tanır, gerekirse gruplandırılmış verileri daraltarak ve genişleterek.

6.1.10 Excel Satır ve Sütunları Tekrarlama

IronXL, bir çalışma kitabının sayfaları arasında satır ve sütunların tekrarlanmasını destekler. Bu, bir Excel belgesinin her yazdırılan sayfasında görünmesi gereken başlıklar veya altbilgiler oluşturmak için kullanışlıdır, tutarlı sunum ve okunabilirlik sağlar.

# 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)
PYTHON

6.1.11 Excel Çalışma Sayfalarını Kopyala

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 veya önemli verileri yedekleme amacıyla birden fazla sayfa oluştururken zaman kazandırır. Veri kopyalama amaçları için çok yararlı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")
PYTHON

6.1.12 Çalışma Sayfası Resimlerini Ekle, Çıkar ve Kaldır

IronXL, çalışma sayfalarına resim ekleme, onlardan resim çıkarma veya resimleri kaldırma yeteneği sağlar. Bu, hesap tablolarının görsel çekiciliğini artırır ve grafik veriler, logolar veya talimat resimleri içeren raporlar için kullanışlıdır.

6.2 OpenPyXL'nin Gelişmiş Özellikleri

6.2.1 Koşullu Biçimlendirme

OpenPyXL, hücrelerin içerdikleri verilere göre stil değiştirme imkanı sağlayan koşullu biçimlendirmeyi destekler. Bu, sayısal değerlere dayalı renk ayarlamayı veya belirli koşullara göre farklı fontlar ve stiller uygulamayı içerebilir ve 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')
PYTHON

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 ayarlamayı, girişleri belli bir tarih veya sayı aralığıyla sınırlandırmayı ve geçersiz girişler için hata mesajları üretmeyi içerir, bu da veri bütünlüğünü korumaya 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')
PYTHON

OpenpyXL Python ve IronXL for Python Karşılaştırması: Şekil 11 - Veri Doğrulama Çıkışı

6.2.3 Grafikler

Kütüphane, çizgi, çubuk, pasta ve dağılım grafikleri gibi çeşitli grafik türlerinin oluşturulmasını ve özelleştirilmesini destekler. Bu özellik, Excel sayfalarında doğrudan veri görselleştirmesine olanak tanır ve daha iyi veri analizi ve raporlama sağlar. Grafik çizim satırını belirtir 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")
PYTHON

OpenpyXL Python ve IronXL for Python Karşılaştırması: Şekil 12 - Grafik Çıkışı

6.2.4 Hücreleri Birleştirme ve Birleştirmeyi Kaldırma

OpenPyXL, birden fazla hücreyi birleştirip daha büyük bir hücre oluşturmanıza olanak tanır, bu genellikle başlıkları biçimlendirme veya verileri organize etme için yararlıdır. Ayrıca bu hücrelerin yeniden ayrı hücrelere bölünmesine veya birleştirmenin kaldırılmasına izin verir.

6.2.5 Yorumları Okuma ve Yazma

Excel dosyası içinde ek notlar veya talimatlar eklemeyi mümkün kılan hücrelere yorumlar yazabilir ve okuyabilirsiniz. Bu özellik, kullanıcılar arasında paylaşılabilecek notlar ve rehberlik gereken işbirlikçi projeler 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')
PYTHON

6.2.6 Özet Tablolar

Kütüphane, çalışma sayfalarınızdaki verilerden özet tablolar oluşturma kapasitesini sunar. Bu güçlü araç, verilerinizi kapsamlı bir şekilde özetlemenize, analiz etmenize, keşfetmenize ve sunmanıza yardımcı olur, böylece büyük veri kümelerine dayanarak sonuç çıkarmayı ve bilinçli kararlar vermeyi kolaylaştırır.

7. Dokümantasyon ve Destek

7.1 IronXL for Python Belgeleri ve Desteği

Belgelendirme: IronXL, Python geliştiricileri için kapsamlı belgeler sunar. Oku, yaz ve Excel belgelerini düzenlemenin yanı sıra çalışma kitaplarını yönetme, hücreleri biçimlendirme ve verileri programlı olarak sıralama konularını kapsar. Belgelendirme, doğrudan ve birçok kod örneği ile desteklenerek geliştiricilerin IronXL işlevselliklerini uygulamalarına hızlı bir şekilde entegre etmelerine yardımcı olacak şekilde tasarlanmıştır.

Destek: IronXL, sağlam destek seçenekleri sunar. Geliştiriciler, kapsamlı SSS bölümü, çevrim içi ayrıntılı belgeler ve doğrudan e-posta desteği aracılığıyla destek alabilir. Daha karmaşık sorular veya acil destek için, doğrudan mühendislik ekibi ile iletişime geçme seçeneği bulunur.

7.2 OpenPyXL Belgeleri ve Desteği

Belgelendirme: OpenPyXL'nin belgeleri ayrıntılı ve iyi organize edilmiştir, geliştiricilere başlarken her şeyden grafikler, veri doğrulama ve hata mesajlarıyla koşullu biçimlendirme gibi gelişmiş özelliklerin kullanımına kadar rehberler sunar. Belgelendirme, yeni başlayanlar ve deneyimli kullanıcılar için yararlı ayrıntılı açıklamalar ve kod parçacıkları içerir.

Destek: OpenPyXL, desteklerini esas olarak resmi depolarındaki topluluk forumları ve sorun izleyiciler üzerinden sağlar. Geliştiriciler GitHub'da sorunlar 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, geliştiricilerin kütüphaneyi çeşitli ortamlarda kullanmasını sağlayan birkaç süresiz lisans seçeneği sunar, tümü devam eden maliyetler olmaksızın.

  • Lite License: $999 fiyatlandırılmış, bu seçenek 1 geliştirici, 1 konum ve 1 proje için uygundur. E-posta desteği içerir.
  • Plus License: Bu seçenek $1,499 ve 3 geliştirici, 3 konum ve 3 proje kapsamında genişler. E-posta desteği, 24/7 sohbet desteği ve telefon desteği içerir.
  • Professional License: $2,999 fiyatla, bu en kapsamlı pakettir ve 10 geliştirici, 10 konum ve 10 projeyi destekler. Aynı destek seçeneklerini Plus lisansı gibi sunar ve ayrıntılı yardım için ekran paylaşımı desteği ile gelir.

Ek seçenekler şunlardır:

  • Telif Ücreti Olmayan Yeniden Dağıtım Kapsamı: IronXL'nin paketlenmiş yazılım ürünleri, SaaS ve OEM uygulamaları içinde dağıtılması için gereklidir. Bu, Lite lisansı için mevcut değildir ve Plus veya Professional lisanslarla satın alınmalıdır.
  • Gelişmiş Ürün Desteği ve Güncellemeleri: Geliştiriciler, 1 yıllık ücretsiz seçenekle veya 5 yıllık paket için $499 karşılığında devam eden destek ve güncellemeleri seçebilir. Bu, güvenlik özelliği güncellemeleri ve mühendislik ekibinden doğrudan desteği içerir.

Her lisans ayrıca 30 günlük para iade garantisi ile birlikte gelir, geliştiricilerin IronXL'i risksiz olarak test etmelerine olanak tanır. Bu lisanslama koşulları, IronXL'i çeşitli kapsam ve boyutlardaki projeler için esnek bir seçenek haline getirir, farklı profesyonel ortamlarda uygulama için net yollar sağlar.

8.2 OpenPyXL Lisansı

OpenPyXL, izinli bir ücretsiz yazılım lisansı olan MIT lisansı altında dağıtılır. Bu, hem açık kaynak hem de tescilli yazılım için kullanımda büyük bir özgürlük sağlar. MIT lisansı, lisanslı yazılımın tüm kopyalarının MIT Lisansı şartlarını ve telif hakkı bildirimini içermesi koşuluyla tescilli yazılım içinde yeniden kullanıma izin verir.

9. Sonuç

OpenpyXL Python ve IronXL for Python Karşılaştırması: Şekil 13 - Lisanslama

IronXL ve OpenPyXL incelememizde, özelliklerine, kullanılabilirliklerine, destek seçeneklerine ve lisanslamaya baktık. Her iki kütüphane de Excel dosyalarını yönetmek için mükemmeldir, ancak farklı ihtiyaçlara hitap eder.

IronXL, Microsoft Office'e ihtiyaç duymadan karmaşık Excel manipülasyonlarına olanak tanıyan kapsamlı özellikleri nedeniyle öne çıkıyor. Detaylı belgeler ve güçlü teknik destek sunar, bu da onu daha büyük projeler veya işletmeler için güvenilir bir seçim yapar. Veri bilimciler IronXL'i veri kopyalama, veri madenciliği, veri analizi ve diğer birçok görev için kullanır. IronXL lisansları $999'dan başlar, ancak ücretsiz bir deneme sürümü içerir. Bu deneme, geliştiricilere IronXL'nin yeteneklerini tam olarak test etme imkanı verir ve bu, herhangi bir ciddi projede önemli bir avantajdır.

OpenPyXL, özellikle çizgi grafik ve koşullu biçimlendirme gibi gelişmiş Excel özellikleriyle de güçlüdür. Açık kaynak ve ticari kullanım için esneklik sunan MIT lisansı altında mevcuttur. Desteği topluluk odaklıdır, ki bu harika, ancak IronXL'nin sunduğu yapılı desteğe sahip değildir.

Projeniz profesyonel ve devamli destekle birlikte üst düzey özelliklere ihtiyaç duyuyorsa, IronXL daha iyi bir seçimdir. Başlangıç maliyeti olabilir, ancak özellikle karmaşık veya uzun vadeli projelerde sunduğu avantajlar ve güvenlik için yatırım yapmaya değer.

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

Sıkça Sorulan Sorular

IronXL ve OpenPyXL'nin temel işlevleri nelerdir?

IronXL ve OpenPyXL, geliştiricilerin Excel elektronik tablo dosyalarını yönetmelerini sağlar, okuma, yazma ve Excel belgelerini düzenleme gibi görevleri gerçekleştirmelerini sağlar. Formül oluşturma, hücre stilleri ve kapsamlı veri kümeleriyle başa çıkma gibi gelişmiş işlevsellikleri desteklerler.

Microsoft Excel olmadan Excel dosyalarını nasıl manipüle edebilirim?

IronXL, Microsoft Excel yüklü olması gerekmeyen Excel dosyalarını manipüle etmenizi sağlar. .NET çerçevesi üzerinde bağımsız olarak çalışır ve çeşitli platformlarda sağlam Excel dosya manipülasyonu yetenekleri sunar.

Excel dosyası işleme için IronXL kullanmanın avantajları nelerdir?

IronXL, çapraz platform desteği, gelişmiş hücre biçimlendirme, veri doğrulama, belge güvenliği ve JSON, XML, HTML gibi çeşitli formatlara dönüştürme yetenekleri sunar. Kapsamlı özellikler ve profesyonel destek gerektiren karmaşık projeler için uygundur.

OpenPyXL, çeşitli grafik türleri ve pivot tablolar oluşturmaya destek veriyor mu?

Evet, OpenPyXL, Excel sayfaları içinde doğrudan veri görselleştirme ve kapsamlı veri analizi kolaylığı sağlayarak çeşitli grafik türleri ve pivot tablolar oluşturmaya destek verir.

IronXL kullanmak için ticari lisansa ihtiyaç var mı?

Evet, IronXL, kapsamlı Excel dosya manipülasyon yetenekleri ve güçlü teknik destek sağlayan çeşitli destek seçenekleriyle ticari lisans sunar.

OpenPyXL, Excel formül entegrasyonunu nasıl ele alır?

OpenPyXL, Excel sayfalarındaki formülleri yönetebilir ve değerlendirebilir, böylece karmaşık veri operasyonlarına ve dosya manipülasyonu sırasında veri bütünlüğünü sürdürmeye olanak tanır.

OpenPyXL kullanıcıları için hangi destek seçenekleri mevcut?

OpenPyXL, forumlar ve GitHub üzerinden topluluk destekli bir yaklaşımla sorun giderme sunar, IronXL ise e-posta, sohbet ve telefon yoluyla doğrudan destek sunar.

IronXL hangi Excel formatlarını destekler?

IronXL, geliştiricilerin farklı türde Excel belgeleriyle çalışmasına olanak tanıyan çeşitli Excel dosya formatlarını destekler ve birden fazla veri formatı arasında kapsamlı dönüştürme olanakları sağlar.

IronXL ve OpenPyXL platform uyumluluğu açısından nasıl farklılık gösterir?

IronXL, farklı işletim ortamlarında uygulamalar için çok yönlülük sağlayarak Windows, macOS ve Linux ile uyumludur. OpenPyXL ise esas olarak Python ortamlarında kullanılır ve XLSX dosya manipülasyonuna odaklanır.

Curtis Chau
Teknik Yazar

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

Daha Fazla Oku

Iron Destek Ekibi

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