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

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

Excel dosyaları, çeşitli sektörlerde veri analizi, raporlama ve depolama için vazgeçilmezdir. Geliştiriciler, Python'un geniş açık kaynak modül ekosistemi sayesinde, Excel dosyalarını programlı olarak üretmek için bolca seçeneğe sahiptir. Bu kütüphaneler, Excel belgeleri üzerinde yüksek seviyede soyutlama sağladığı gibi, ince ayarlı kontrol de sunarak çeşitli kullanım durumlarını ve tercihleri destekler.

Bu, geliştiricilerin Excel ile ilgili işlemleri kolayca otomatikleştirmelerine, dinamik raporlar üretmelerine ve veri ihraç etmelerine olanak tanır. Excel dosyalarını C#'ta oluştururken IronXL'in Python kütüphaneleri yerine güçlü bir alternatif olduğuna bakacağız.

Özelliklerini, kullanılabilirliğini ve performans avantajlarını inceleyeceğiz ve güçlerini vurgulamak için kullanışlı kod örnekleri sunacağız. Ayrıca, Excel dosyalarını çeşitli açık kaynak kütüphaneleri ile yazma.

Python'da Bir Excel Dosyası Nasıl Yazılır

  1. Gereken kütüphaneyi içe aktarın.
  2. Verilerinizi hazırlayın veya bazılarını sağlayın.
  3. Workbook veya Data Frame adında bir nesne oluşturun.
  4. Verilerinizi nesne içine yerleştirin.
  5. Uygun tekniği kullanarak nesneyi bir Excel dosyasına kaydedin.
  6. İsteğinize bağlı olarak herhangi bir ek formatlama veya özelleştirme yapın.

Pandas

Kullanıcı dostu ve çok yönlü olma konusunda itibara sahip olan Pandas, güçlü bir Python veri manipülasyon paketidir. Her ne kadar Pandas esas olarak DataFrame'lere odaklı olsa da, aynı zamanda Excel dosyası oluşturma işlevselliğine de sahiptir.

Geliştiriciler, to_excel() API'si kullanarak DataFrame'leri Excel formatına kolayca dışa aktarabilir. Hatta DataFrame'leri ayrı sayfalara da dışa aktarabilirler.

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

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

xlwt

Bu kütüphane, .xls formatındaki eski Excel dosyalarına veri yazmanıza ve biçimlendirme bilgilerini eklemenize olanak tanır. Xlwt, aktif olarak geliştirilmemiş olsa da, eski Excel sürümleri veya eski sistemlerle uyumluluğun gerekli olduğu durumlarda hâlâ çalışabilir bir çözümdür.

Geliştiriciler, xlwt'nin özelliklerini kullanarak hücrelere veri yazabilir, çalışma sayfaları ekleyebilir ve Workbook nesneleri oluşturabilir. Xlwt, Python'da Excel dosyaları oluşturma için temel işlevsellik 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 de dahil olmak üzere birçok farklı formatta tablosal veri işleyebilir. Tablib, ana odak noktası veri işleme ve serileştirme olmasına rağmen, yine de verileri Excel formatına ihraç etme işlevselliğine sahiptir.

Tablib tarafından sağlanan yöntemler, geliştiricilerin kolayca Dataset nesneleri oluşturmalarına, veri eklemelerine ve bunu Excel dosyalarına ihraç etmelerine olanak tanır. Tablib'in çok yönlülüğü ve kullanıcı dostluğu, veri işleme ve Excel dosyaları oluşturma içeren Python görevleri için uygun hale getirir.

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

ezodf

ezodf kütüphanesi, Elektronik Tablo ve diğer OpenDocument Format (ODF) dosyaları ile çalışmanıza olanak tanır. Excel dosyaları düşünülerek tasarlanmamış olmasına rağmen, ezodf Python kullanıcılarına elektronik tablo belgeleri oluşturma ve bunlarla çalışma yeteneği sunar.

Geliştiriciler, ezodf'nin yöntemlerini kullanarak çalışma sayfaları ekleyebilir, Excel tablosuna programatik olarak hücrelere veri yazabilir ve ODS (OpenDocument Elektronik Tablosu) dosyaları üretebilir. Her ne kadar bu kadar popüler olmasa da, ezodf, Python'daki elektronik tablo belgeleriyle uğraşırken Excel dosyaları oluşturmak için bir seçenek sunar.

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

pyxlsb

pyxlsb adlı bir Python paketi, Excel İkili Çalışma Kitabı (.xlsb) dosyalarını okumak ve yazmak için kullanılır. İkili Excel formatındaki hücrelere veri yazma, çalışma sayfaları ekleme ve Çalışma Kitabı nesneleri oluşturma için özellikler sunar.

.xlsb dosyaları desteği .xlsx veya .xls dosyaları kadar yaygın olmasa da, pyxlsb, Excel'in ikili formatına uyum sağlamak için belirli kullanım durumlarını karşılamak üzere ikili Excel dosyalarını manipüle etmek 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. Iron Software tarafından geliştirilen IronXL, Excel belgelerini dinamik olarak üretmek, biçimlendirmek ve doldurmak için kapsamlı bir özellik yelpazesi sunar. IronXL, kullanıcı dostu API'si ve kapsamlı belgeleri ile C#'da Excel etkileşimlerini basitleştirerek geliştiricilere pürüzsüz bir deneyim sunar.

IronXL Özellikleri

  • Geniş Excel Desteği: IronXL, csv, txt, xls ve xlsx dosyaları gibi birçok Excel formatında geniş bir yelpazede Excel dosyalarını açabilir ve çalışabilir. IronXL'nin güçlü ayrıştırma özellikleri sayesinde, geliştiriciler hem eski hem de modern Excel dosyalarını kullanarak mevcut bir Excel dosyasından verileri etkin bir şekilde çıkarabilir.
  • Yüksek hız: IronXL, hız optimizasyonunu öncelikli kılar. Güvenilir ve hızlı Excel etkileşimleri sağlamak için etkili algoritmalar ve bellek yönetimi teknikleri kullanılır. IronXL, optimize edilmiş işlem hızları ve azalmış bellek kullanımı sunduğundan, geliştiriciler büyük Excel dosyalarını kolaylıkla işleyebilir.
  • Basit ve kullanımı kolay API: IronXL'in basit ve kullanıcı dostu API'si nedeniyle, çeşitli deneyim seviyelerindeki geliştiricilere uygundur. IronXL, Excel dosyalarını okumak, çalışma kitaplarına erişmek ve hücrelerden veri almak için basit yöntemler sunarak C# geliştiricileri için öğrenme eğrisini azaltır ve mevcut bir dosyayı yazma ve okuma sürecini kolaylaştırır.
  • İnce Ayarlı Kontrol: Diğer üst düzey kütüphanelerin aksine, IronXL geliştiricilere Excel belgeleri üzerinde ince ayarlı kontrol sunar ve onlara bir Excel elektronik tablosuyla hücre seviyesine kadar etkileşim kurma olanağı tanır. Geliştiriciler, belirli hücreler, satırlar, sütunlar ve elektronik tablolar ile erişim sağladıklarından, ihtiyaçlarına tam olarak uygun şekilde verileri çıkarabilir ve değiştirebilirler.
  • Çapraz Platform Uyumluluğu: IronXL, çeşitli işletim sistemleriyle çalışır, Windows, Linux ve macOS dahil olmak üzere, çapraz platform C# geliştirmesi için uygundur. Masaüstü, web veya mobil uygulamaları geliştirirken, geliştiriciler, çeşitli bağlamlarda tutarlı Excel etkileşimleri sağlamak için IronXL'e güvenebilir.

IronXL dokümantasyonu hakkında daha fazla bilgi edinmek için buraya bakın.

IronXL'i Kurma

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

Visual Studio'da, Araçlar -> 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 artık mevcut projeye indirildikten ve yüklendikten sonra kullanılabilir.

Writing Excel Data Using IronXL in C

Şimdi veri yazmak için C#'ta IronXL kullanmanın nasıl yapılacağını gösteren gerçek dünya kodu örneğine dalalım. Yeni bir Excel çalışma kitabını nasıl açacağımızı, bir çalışma sayfasını nasıl dolduracağımızı ve ardından verileri bir dosyaya nasıl kaydedeceğimizi 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'nın Create() fonksiyonunu kullanarak yeni bir WorkBook nesnesi oluşturuyoruz ve istenilen Excel dosya türünü belirtiyoruz (bu durumda, .xlsx). Ardından, yeni bir çalışma sayfası oluşturup, örnek verileri iki boyutlu bir dizide tanımlarız.

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

Son olarak, çalışma kitabını 'Demo.xlsx' hedef dosya adına kaydetmek ve sistem kaynaklarını boşaltmak için SaveAs() fonksiyonunu kullanıyoruz. Benzer şekilde, hedef dosyada birden fazla sayfa oluşturabiliriz.

Aşağıda üretilen Excel dosyası yer almaktadır. Excel dosyalarını yazma hakkında daha fazla bilgi için buraya bakın.

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

Sonuç

Python, geniş bir ihtiyaç ve tercihi karşılayan Excel dosyalarını programatik olarak yazmak için ücretsiz ve açık kaynak kütüphanelerden oluşan geniş bir koleksiyon sunar. Bu kütüphaneler, tablosal verilerle çalışıyor olun, raporlar üretiyor olun ya da verileri Excel'e ihraç ediyor olun, Excel yazma görevlerinizi hızlı ve etkili bir şekilde yürütmenizi sağlar.

IronXL, C# geliştiricileri için Microsoft Excel'e güçlü bir alternatiftir ve Excel için tam destek, üstün hız ve .NET framework ile pürüzsüz bir arayüz sunar. IronXL, kullanıcı dostu API'si ve Excel belgeleri üzerinde ince ayar yapma özelliği ile C#'da Excel yazma işlemini daha basit hale getirir.

Bu, geliştiricilerin dinamik raporlar oluşturmasını, veri ihraç etmesini ve Excel ile ilgili işlemleri otomatikleştirmesini kolaylaştırır. C# geliştiricileri, masaüstü, çevrimiçi veya mobil uygulamalar için Excel dosyaları üretiyor olmalarına bakılmaksızın, IronXL'e Excel ile ilgili işlemleri optimize etmek ve C# uygulamalarında Excel'in tam gücünü etkinleştirmek için güvenebilirler.

IronXL, $999 için piyasaya sunulmaktadır. Kullanıcılar, güncellemeler ve ürün desteği almak için bir yıllık üyelik ücreti ödemeyi tercih edebilirler. IronXL, sınırsız yeniden dağıtım için bir ücret karşılığında koruma sağlar. Yaklaşık maliyet hakkında daha fazla bilgi edinmek için bu sayfaya gidin. Iron Software hakkında daha fazla bilgi edinmek için buraya gidin.

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