Altbilgi içeriğine atla
EXCEL ARAçLARı

Python'da Bir Excel Dosyasını Nasıl Yazarsınız

Excel dosyaları, birçok sektörde veri analizi, raporlama ve depolama için gereklidir. Geliştiriciler, Python'un geniş açık kaynaklı modül ekosistemi sayesinde programlı bir şekilde Excel dosyaları oluştururken birçok alternatife sahiptir. Bu kütüphaneler, yüksek düzeyli soyutlamalar ile Excel belgeleri üzerinde ince ayarlanmış kontrol sunarak çeşitli kullanım durumlarını ve tercihlerini destekler.

Bu, geliştiricilerin Excel ile ilgili süreçleri kolayca otomatikleştirmesine, dinamik raporlar üretmesine ve veri dışa aktarmasına olanak tanır. Excel dosyaları oluşturma söz konusu olduğunda, IronXL'ın C#'de Python kütüphanelerine güçlü bir alternatif olduğunu inceleyeceğiz.

Özelliklerini, kullanılabilirliğini ve performans avantajlarını incelerken, özelliklerini vurgulamak için yararlı kod örnekleri sunacağız. Ayrıca, çeşitli açık kaynaklı kütüphanelerle Excel dosyaları yazmak için Python kullanılması.

Python'da Excel dosyası nasıl yazılır

  1. Gerekli kütüphaneyi içe aktarın.
  2. Verinizi hazırlayın veya bazı veriler sağlayın.
  3. Çalışma Kitabı veya Veri Çerçevesi denilen bir nesne oluşturun.
  4. Verinizi nesneye koyun.
  5. Uygun tekniği kullanarak, nesneyi bir Excel dosyasına kaydedin.
  6. İsteğiniz doğrultusunda ek formatlama veya özelleştirmeler yapın.

Pandas

Kullanıcı dostu ve esnek olmasıyla ünlü Pandas, sağlam bir Python veri işleme paketidir. Pandas esas olarak Veri Çerçeveleri üzerine odaklanırken, Excel dosyası yazma işlevselliğine de sahiptir.

Geliştiriciler, to_excel() API'sini kullanarak Veri Çerçevelerini Excel formatına kolayca aktarabilirler. Hatta Veri Çerçevelerini ayrı sayfalara aktarabilirler.

ExcelWriter nesne dosya yolu, çıktının kaydedildiği yerdir. Python tabloları verileri, Pandas'ın veri formatlama, indeks görünürlüğü ve sayfa adları için sunduğu seçenekler ile kolayca Excel dosyalarına dönüştürülebilir.

Python'da Excel dosyası nasıl yazılır: Şekil 1

xlwt

Bu kütüphane, eski .xls formatındaki Excel dosyalarına veri yazmanıza ve bilgi formatlamanıza olanak tanır. Xlwt, aktif olarak geliştirilmemiş olsa da, daha eski Excel sürümleri veya eski sistemlerle uyumluluk gerektiği durumlarda hala çalışabilir bir çözümdür.

Geliştiriciler, xlwt'nin özelliklerinden faydalanarak hücrelere veri yazabilir, çalışma sayfaları ekleyebilir ve Çalışma Kitabı nesneleri oluşturabilir. Xlwt, Python'da Excel dosyaları oluşturmak için temel özellikler sunar, ancak daha yeni araçlarla karşılaştırıldığında sınırlamaları vardır.

Python'da Excel dosyası nasıl yazılır: Şekil 2

Tablib

Bu esnek kütüphane, Excel dahil olmak üzere pek çok farklı formatta tabular verileri işleyebilir. Tablib, veri işleme ve serileştirmeye odaklanmasına rağmen, verileri Excel formatına aktarma fonksiyonlarına sahiptir.

Tablib tarafından sağlanan yöntemler, geliştiricilerin kolayca Dataset nesneleri oluşturmasına, veri eklemesine ve bunları Excel dosyalarına aktarmasına olanak tanır. Tablib'in çok yönlülüğü ve kullanıcı dostu olması, Python görevlerinde basit Excel dosyaları oluşturma işlerinde uygun hale getirir.

Python'da Excel dosyası nasıl yazılır: Şekil 3

ezodf

ezodf kütüphanesi kullanılarak Elektronik Tablo ve diğer OpenDocument Format (ODF) dosyaları ile çalışılabilir. Ezodf, Excel dosyaları düşünülerek tasarlanmış olmasa da, Python kullanıcılarına elektronik tablo belgeleri oluşturma ve onlarla çalışma yeteneği sunar.

Geliştiriciler, ezodf'nin tekniklerini kullanarak sayfalar ekleyebilir, Excel sayfasındaki hücrelere programatik olarak veri yazabilir ve ODS (OpenDocument Spreadsheet) dosyaları üretebilir. Ezodf o kadar popüler olmasa da, Python'da elektronik tablo belgeleriyle çalışırken Excel dosyaları oluşturmak için bir seçenek sunar.

Python'da Excel dosyası nasıl yazılır: Şekil 4

pyxlsb

pyxlsb, Excel Binary Workbook (.xlsb) dosyalarını okuma ve yazma için kullanılan bir Python paketidir. İkili Excel formatında sayfalar ekleme, hücrelere veri yazma ve Workbook nesneleri oluşturma gibi özellikler sunar.

.xlsb dosyaları için destek, .xlsx veya .xls kadar yaygın olmasa da, pyxlsb, Excel'in ikili formatının uyumlu olması gereken belirli kullanım senaryoları için Python işlevselliği sağlar.

Python'da Excel dosyası nasıl yazılır: Şekil 5

IronXL

IronXL Excel dosyalarını manipüle etmek için zengin özelliklere sahip bir C# kütüphanesidir. IronXL, Iron Software tarafından oluşturulan, dinamik olarak Excel belgeleri üretme, formatlama ve doldurma için kapsamlı özellikler sunar. IronXL, kullanıcı dostu API'si ve kapsamlı dokümantasyonu ile Excel etkileşimlerini C# içinde kolaylaştırarak, Excel ile ilgili etkinlikler için geliştiricilere sorunsuz bir deneyim sunar.

IronXL'nin Özellikleri

  • Excel için Geniş Destek: IronXL, csv, dosya, xls dosyaları ve xlsx dosyaları dahil olmak üzere birçok Excel formatındaki geniş bir yelpazedeki Excel dosyalarını açabilir ve onlarla çalışabilir. IronXL'nin güçlü ayrıştırma özellikleriyle, geliştiriciler hem eski hem de modern Excel dosyaları kullanarak mevcut bir Excel dosyasından verileri verimli bir şekilde çıkarabilirler.
  • Yüksek hız: IronXL hız optimizasyonuna öncelik verir. Güvenilir ve hızlı Excel etkileşimleri sağlamak için etkili algoritmalar ve bellek yönetim teknikleri kullanılır. IronXL optimize edilmiş işleme hızları ve azalmış bellek yükü sunduğundan, geliştiriciler büyük Excel dosyalarını kolayca işleyebilirler.
  • Basit ve kullanımı kolay API: IronXL, basit ve kullanıcı dostu API'si nedeniyle farklı deneyim seviyelerine sahip geliştiriciler için uygundur. Excel dosyalarını okumak, Excel çalışma kitaplarına erişmek ve hücrelerden veri almak için basit yöntemler sunarak IronXL, C# geliştiricileri için öğrenme eğrisini düşürür ve mevcut bir dosyayı oluşturma ve okuma sürecini kolaylaştırır.
  • Hassas Kontrol: Diğer üst düzey kütüphanelerin aksine, IronXL geliştiricilere hücre seviyesine kadar Excel belgeleriyle etkileşime geçmelerini sağlayarak hassas kontrol sunar. Geliştiriciler belirli hücrelere, satırlara, sütunlara ve elektronik tablolara erişebildikleri için, ihtiyaçlarına uygun şekilde veri çıkarabilir ve değiştirebilirler.
  • Çapraz Platform Uyumluluğu: IronXL, Windows, Linux ve macOS dahil olmak üzere bir dizi işletim sistemi ile çalışır ve onu çapraz platform C# geliştirmesi için uygun hale getirir. Masaüstü, web veya mobil uygulamalar geliştirirken, geliştiriciler IronXL'ye çeşitli bağlamlarda tutarlı Excel etkileşimleri sunması için güvenebilirler.

IronXL belgeleri hakkında daha fazla bilgi için buraya bakın.

IronXL Kurulumu

IronXL'yi kurmak için bu talimatları ve komut satırını kullanın.

Visual Studio'da, Tools -> NuGet Paket yönetimi -> Paket yöneticisi arayüzüne gidin.

Paket yöneticisinin konsol sekmesine aşağıdaki kodu girin:

pip install IronXL

Dosya indirildikten ve mevcut projeye kurulduktan sonra kullanılabilir.

Writing Excel Data Using IronXL in C

Şimdi IronXL'yi kullanarak C#'ta bir Excel belgesine veri yazmayı nasıl yapacağınızı gösteren gerçek bir kod örneğine dalalım. Yeni bir Excel çalışma kitabı açmayı, bir çalışma sayfasını doldurmayı ve ardından verileri bir dosyaya kaydetmeyi göstereceğiz:

using IronXL; // Include IronXL namespace

class Program
{
    static void Main(string[] args)
    {
        // Create a new WorkBook object in .xlsx format
        WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX);
        // Add a new WorkSheet named "Sheet1" to the workbook
        WorkSheet workSheet = workBook.CreateWorkSheet("Sheet1");

        // Define sample data
        string[,] data = {
            { "Name", "Age", "City" },
            { "John ", "25", "New York" },
            { "Smith", "30", "Los Angeles" },
            { "Johnson", "35", "Chicago" }
        };

        // Populate the worksheet with data
        for (int row = 0; row < data.GetLength(0); row++)
        {
            for (int col = 0; col < data.GetLength(1); col++)
            {
                workSheet.SetCellValue(row, col, data[row, col]);
            }
        }

        // Save the workbook to a .xlsx file named "Demo.xlsx"
        workBook.SaveAs("Demo.xlsx");

        // Close the workbook to free resources
        workBook.Close();
    }
}
using IronXL; // Include IronXL namespace

class Program
{
    static void Main(string[] args)
    {
        // Create a new WorkBook object in .xlsx format
        WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX);
        // Add a new WorkSheet named "Sheet1" to the workbook
        WorkSheet workSheet = workBook.CreateWorkSheet("Sheet1");

        // Define sample data
        string[,] data = {
            { "Name", "Age", "City" },
            { "John ", "25", "New York" },
            { "Smith", "30", "Los Angeles" },
            { "Johnson", "35", "Chicago" }
        };

        // Populate the worksheet with data
        for (int row = 0; row < data.GetLength(0); row++)
        {
            for (int col = 0; col < data.GetLength(1); col++)
            {
                workSheet.SetCellValue(row, col, data[row, col]);
            }
        }

        // Save the workbook to a .xlsx file named "Demo.xlsx"
        workBook.SaveAs("Demo.xlsx");

        // Close the workbook to free resources
        workBook.Close();
    }
}
Imports IronXL ' Include IronXL namespace

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		' Create a new WorkBook object in .xlsx format
		Dim workBook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
		' Add a new WorkSheet named "Sheet1" to the workbook
		Dim workSheet As WorkSheet = workBook.CreateWorkSheet("Sheet1")

		' Define sample data
		Dim data(,) As String = {
			{ "Name", "Age", "City" },
			{ "John ", "25", "New York" },
			{ "Smith", "30", "Los Angeles" },
			{ "Johnson", "35", "Chicago" }
		}

		' Populate the worksheet with data
		For row As Integer = 0 To data.GetLength(0) - 1
			For col As Integer = 0 To data.GetLength(1) - 1
				workSheet.SetCellValue(row, col, data(row, col))
			Next col
		Next row

		' Save the workbook to a .xlsx file named "Demo.xlsx"
		workBook.SaveAs("Demo.xlsx")

		' Close the workbook to free resources
		workBook.Close()
	End Sub
End Class
$vbLabelText   $csharpLabel

Bu kod örneğinde, IronXL'nin Create() fonksiyonunu kullanarak yeni bir WorkBook nesnesi oluşturup, istenilen Excel dosyası türünü belirtiyoruz (bu durumda, .xlsx). Sonra, yeni bir çalışma sayfası oluşturuyoruz ve bir 2-boyutlu dizi içinde bazı örnek veriler tanımlıyoruz.

Ardından, farklı hücrelerin değerlerini iç içe döngüler kullanarak ayarlayarak örnek verilerle çalışma sayfasını dolduruyoruz.

Son olarak, çalışma kitabını hedef dosya adı olan "Demo.xlsx" olarak kaydetmek ve sistem kaynaklarını serbest bırakmak için SaveAs() fonksiyonunu kullanıyoruz. Aynı şekilde, hedef dosyada birden fazla sayfa oluşturabiliriz.

Aşağıda çıkarılmış bir Excel dosyası bulunmaktadır. Excel dosyalarının yazılması hakkında daha fazla bilgi için buraya bakın.

Python'da Excel dosyası nasıl yazılır: Şekil 6

Sonuç

Python, programatik olarak Excel dosyaları yazmak için geniş bir ücretsiz ve açık kaynaklı kütüphane koleksiyonu sağlar, bu da çok çeşitli ihtiyaçları ve tercihleri karşılar. Bu kütüphaneler, siz tabular veri ile çalışırken, raporlar oluştururken veya verileri Excel'e aktarırken, Excel yazma görevlerinizi hızlı ve etkili bir şekilde gerçekleştirmenizi sağlar.

IronXL, C# geliştiricileri için Microsoft Excel'e güçlü bir alternatif sunar, Excel için tam destek sağlar, mükemmel hız sağlar ve .NET çerçevesiyle sorunsuz bir arayüze sahiptir. IronXL, kullanıcı dostu API'si ve Excel belgeleri üzerinde ayrıntılı kontrol ile C#'ta Excel yazımını daha kolay hale getirir.

Bu, geliştiricilerin dinamik raporlar oluşturmasını, veri dışa aktarmasını ve Excel ile ilgili işlemleri otomatikleştirmesini kolaylaştırır. C# geliştiricileri, IronXL'ye Excel ile ilgili işlemleri optimize etmek ve C# uygulamalarında Excel'in tam gücünü kullanmak için güvenebilirler, ister masaüstü, ister çevrim içi, ister mobil uygulamalar için Excel dosyaları üretsinler.

IronXL, $799 ile piyasaya sunulmuştur. Kullanıcılar, ürün yardımını ve güncellemelerini almak için bir yıl süreli bir abonelik ücreti ödemeyi de tercih edebilirler. IronXL, ek bir ücret karşılığında sınırsız yeniden dağıtım için koruma sağlar. Yaklaşık maliyet hakkında daha fazla bilgi edinmek için bu sayfayı ziyaret edin. Iron Software hakkında daha fazla bilgi için buraya gidin.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında lisans derecesine sahiptir (Carleton Üniversitesi) ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirme üzerine uzmanlaşmıştır. Kullanıcı dostu ve estetik açıdan hoş arayüzler tasarlamaya tutkuyla bağlı olan Curtis, modern çerç...

Daha Fazlasını Oku

Iron Destek Ekibi

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