IRONSOFTWAREHOME
IRONXL KULLANARAK

VB.NET'de Excel Dosyasına Nasıl Yazılır (Kolay Yol)

Jacob Mellor, Teknoloji Direktörü @ Team Iron
Jacob Mellor
Updated: 19 Temmuz 2026

Office Interop kullanmak, geleneksel olarak Microsoft Excel görevlerini otomatikleştirmek için de facto seçenek olmuştur, ancak performans sorunları, sunucu tarafı zorlukları ve makinede Microsoft Excel'in yüklü olma gerekliliği gibi önemli dezavantajlarla birlikte gelir.

Bu kılavuz, VB.NET'te Excel dosyası oluşturma ve yazma konusunda modern, daha verimli bir yaklaşımı göstermektedir. IronXL .NET için kullanacağız, ofis Interop'a bağımlı olmadan Excel elektronik tabloları oluşturma, okuma ve düzenlemede geliştiricilere yardımcı olmak için özel olarak geliştirilmiş bir kütüphane. Yeni dosyalar oluşturma, koleksiyonlardan veri yazma ve mevcut belgeleri sadece birkaç satır sezgisel kodla nasıl değiştireceğinizi göreceksiniz.

VB.NET'te Excel Otomasyonu ile Nasıl Başlarım?

VB.NET projenizde Excel dosyalarına yazmaya başlamak için önce IronXL kütüphanesini eklemeniz gerekiyor. Bu süreç basittir ve doğrudan Visual Studio içinde yapılabilir.

Öncelikle, geliştirme ortamınızın hazır olduğundan emin olun:

  • Visual Studio 2022 veya daha sonraki bir sürüm.
  • .NET Framework 4.6.2 veya daha üstü, veya .NET Core/.NET 5+'a hedeflenen aktif bir proje. IronXL tüm modern .NET sürümleriyle uyumludur, .NET 9 ve 10 dahil olmak üzere.

Sonrasında, IronXL NuGet paketini yükleyin:

  1. Visual Studio'da NuGet Paket Yöneticisini açın.
  2. IronXL.Excel paketini arayın.
  3. "Yükle" butonuna tıklayın.

Alternatif olarak, aşağıdaki komutu kullanarak Paket Yöneticisi Konsolundan yükleyebilirsiniz:

PM > Install-Package IronXL.Excel

NuGet Paket Yöneticisi'ne gidin VB.NET Excel entegrasyonu için doğru paketi bulmak adına Visual Studio'nun menüsünde NuGet Paket Yöneticisine gidin.

Yüklendikten sonra, kod yazmaya başlamaya hazırsınız. Sadece Imports IronXL kütüphanenin sınıflarını kapsam içine almak için VB.NET dosyanızın en üstüne ekleyin.

NuGet Paket Yöneticisi UI içinde IronXL paketini arayın VB.NET kullanarak bir Excel dosyasına veri yazmak için gereken kütüphaneyi yüklemek adına IronXL paketini aramak.

Yeni Bir Excel Dosyası Nasıl Oluşturabilir ve Verilere Yazabilirim?

Sıfırdan yeni bir Excel dosyası oluşturmak temel bir görevdir. IronXL ile bir çalışma kitabı oluşturabilir, çalışma sayfaları ekleyebilir ve hücreleri bir nesne koleksiyonu gibi herhangi bir kaynaktan gelen verilerle doldurabilirsiniz. Bu, uygulama verilerini ihraç etmek veya günlük raporlar oluşturmak gibi görevler için mükemmeldir.

Pratik bir örneğe bakalım. Bir Excel elektronik tablosuna aktarmak istediğimiz bir ürün veri listemiz olduğunu hayal edin.

Yeni Bir Excel Çalışma Sayfasına Bir Koleksiyon Yazma

Aşağıdaki kod, List(Of Product) almanın ve içeriklerini yeni oluşturulmuş bir Excel dosyasına yazmanın nasıl yapıldığını gösterir.

Imports IronXL
Imports System.Collections.Generic
Imports System.Linq

Public Class Product
    Public Property ID As Integer
    Public Property Name As String
    Public Property Price As Decimal
End Class

Module Program
    Sub Main(args As String())
        ' 1. Prepare a list of data to write to Excel.
        Dim products As New List(Of Product) From {
            New Product With {.ID = 1, .Name = "Laptop", .Price = 1200.50D},
            New Product With {.ID = 2, .Name = "Keyboard", .Price = 75.00D},
            New Product With {.ID = 3, .Name = "Mouse", .Price = 25.99D}
        }

        ' 2. Create a new Excel workbook and select the default worksheet.
        Dim workbook As WorkBook = WorkBook.Create()
        Dim sheet As WorkSheet = workbook.DefaultWorkSheet
        
        ' 3. Write headers for our data.
        sheet("A1").Value = "Product ID"
        sheet("B1").Value = "Product Name"
        sheet("C1").Value = "Price"

        ' Style the header row.
        Dim headerRange = sheet.GetRange("A1:C1")
        headerRange.Style.Font.Bold = True
        headerRange.Style.SetBackgroundColor("#D3D3D3") ' Light Gray

        ' 4. Iterate through the product list and write data to subsequent rows.
        For i As Integer = 0 To products.Count - 1
            Dim product = products(i)
            Dim row = i + 2 ' Start from the second row
            sheet("A" & row).Value = product.ID
            sheet("B" & row).Value = product.Name
            sheet("C" & row).Value = product.Price
        Next

        ' 5. Apply currency formatting to the price column.
        Dim priceColumn = sheet.GetRange("C2:C" & products.Count + 1)
        priceColumn.Style.Format = "$#,##0.00"

        ' 6. Auto-size columns for better readability.
        sheet.Columns.AutoFit()

        ' 7. Save the newly created and populated workbook to a file.
        workbook.SaveAs("ProductReport.xlsx")

    End Sub
End Module
VB .NET

Nasıl Çalışır

Bu kod örneği, IronXL API'sinin Excel verilerini otomatikleştirmedeki basitliğini ve gücünü gösteriyor.

  1. Veri Hazırlığı: Basit bir Product sınıfı ve dışa aktarmak istediğimiz verileri temsil eden bir List(Of Product) ile başlıyoruz. Bu, bir veritabanından veya başka bir iş mantığı katmanından veri çekmeyi simüle eder.
  2. Workbook ve Çalışma Sayfası Oluşturma: WorkBook.Create() bellekte yeni ve boş bir Excel çalışma kitabı oluşturur. Her yeni çalışma kitabı, DefaultWorkSheet özelliği ile erişebileceğimiz bir çalışma sayfası otomatik olarak içerir. Daha karmaşık belgeler için, CreateWorkSheet yöntemi ile daha fazla çalışma sayfası ekleyebilirsiniz.
  3. Veri Yazma: Hücrelere alışıldık A1 tarzı notasyon (örn., sheet("A1")) kullanarak erişiyoruz. .Value özelliği, hem bir hücrenin içeriğini ayarlamak hem de almak için kullanılır. IronXL sayılar, metinler ve tarihler için otomatik veri türü dönüştürmeleri yapar.
  4. Stil ve Biçimlendirme: IronXL, kapsamlı bir stil API'si sağlar. Örnekte, bir hücre Range seçiyoruz ve başlığımıza kalın biçim ve arka plan rengi uyguluyoruz. Ayrıca, fiyat sütununa Style.Format özelliğini kullanarak bir para birimi formatı uyguluyoruz, ki bu da profesyonel raporlar oluşturmak için gereklidir. Daha fazla stil seçenekleri için Stil nesnesinin API dokümantasyonunu keşfedin.
  5. Dosyayı Kaydetme: Son olarak, workbook.SaveAs("ProductReport.xlsx") bellekteki çalışma kitabını dosya sistemine yazar. IronXL, verilerinizi nasıl dışa aktaracağınız konusunda size esneklik sağlayarak .xlsx, .xls, .csv ve .tsv dahil olmak üzere çeşitli formatları destekler.

Mevcut Bir Excel Dosyasına Verileri Nasıl Yazabilirim?

Çoğu zaman yeni bir dosya oluşturmanıza gerek yoktur, bunun yerine mevcut bir dosyaya veri eklemeniz gerekir. Bu, günlük kaydı, bir veri kümesine kayıt ekleme veya bir raporu güncellemede yaygındır. IronXL, yeni bir dosya oluşturmak kadar bu süreci de kolaylaştırır.

Aşağıdaki örnek, mevcut bir e-tablonun nasıl açılacağını, son kullanılan satırın nasıl bulunacağını ve yeni verilerin nasıl ekleneceğini gösterir.

Imports IronXL
Imports System.Collections.Generic
Imports System.Linq

' (Assuming the Product class from the previous example is available)

Module Program
    Sub Main(args As String())
        ' Ensure the file from our previous example exists.
        If Not System.IO.File.Exists("ProductReport.xlsx") Then
            Console.WriteLine("Please run the first example to create ProductReport.xlsx")
            Return
        End If

        ' 1. Load the existing workbook from the file system.
        Dim workbook As WorkBook = WorkBook.Load("ProductReport.xlsx")
        Dim sheet As WorkSheet = workbook.DefaultWorkSheet

        ' 2. Find the first empty row to append new data.
        ' The LastRowUsed property gives us the last row with data.
        Dim lastRow = sheet.Info.LastRowUsed
        Dim newRowIndex = lastRow.RowNumber + 1

        ' 3. Define the new data to be added.
        Dim newProducts As New List(Of Product) From {
            New Product With {.ID = 4, .Name = "Monitor", .Price = 350.00D},
            New Product With {.ID = 5, .Name = "Webcam", .Price = 99.99D}
        }

        ' 4. Loop through the new data and write it to the worksheet.
        For i As Integer = 0 To newProducts.Count - 1
            Dim product = newProducts(i)
            Dim currentRow = newRowIndex + i
            sheet("A" & currentRow).Value = product.ID
            sheet("B" & currentRow).Value = product.Name
            sheet("C" & currentRow).Value = product.Price
        Next

        ' 5. Re-apply formatting and auto-fit columns to include new data.
        Dim priceColumn = sheet.GetRange("C2:C" & sheet.Info.LastRowUsed.RowNumber)
        priceColumn.Style.Format = "$#,##0.00"
        sheet.Columns.AutoFit()

        ' 6. Save the changes back to the original file.
        workbook.Save()

        ' Or save as a new file to preserve the original.
        ' workbook.SaveAs("ProductReport_Updated.xlsx")
    End Sub
End Module
VB .NET

Daha Derin Bir Açıklama

Mevcut bir dosyayı değiştirmek mantıksal bir yükle-düzenle-kaydet modelini izler.

  1. Workbook Yükleme: WorkBook.Create() yerine, WorkBook.Load("ProductReport.xlsx") kullanıyoruz. Bu, belirtilen dosyayı açar ve içeriğini, işlemeye hazır WorkBook nesnesine ayrıştırır.
  2. Ekleme Noktasını Bulma: Veri eklemede ana zorluk, nereye yazmaya başlayacağını bulmaktır. IronXL bunu sheet.Info.LastRowUsed özelliği ile basitleştirir, bu da verileri içeren son Row nesnesini döndürür. Sadece satır numarasını alıp bir ekleyerek ilk boş satırı buluyoruz.
  3. Veri Ekleme: Yeni verileri yazma süreci önceki örnekle aynıdır. Yeni Product listemiz boyunca yineleme yapıyoruz ve yeni tanımlanmış boş satırlardaki hücreleri dolduruyoruz.
  4. Değişiklikleri Kaydetme: workbook.Save() yöntemi, bellekteki düzenlenmiş çalışma kitabı ile orijinal dosyanın üzerine yazar. Orijinali korumanız gerekiyorsa, yorumlanmış satırda gösterildiği gibi yeni bir dosya adıyla SaveAs() kullanın.

Bir DataTable'i Excel Çalışma Sayfasına Nasıl Yazabilirim?

SQL Server gibi kaynaklardan veriyle çalışan geliştiriciler için yaygın bir görev, bir DataTable içeriğini doğrudan bir Excel sayfasına yazmaktır. IronXL, satır ve sütunları manuel şekilde döngüye sokma ihtiyacını ortadan kaldırarak yerleşik bir yöntem ile bunu kolaylaştırır.

Bu örnek, bir DataTable doldurmayı ve bunu yeni bir Excel dosyasına tek adımda dışa aktarmayı gösterir.

Imports IronXL
Imports System.Data

Module Program
    Sub Main(args As String())
        ' 1. Create and populate a DataTable. This often comes from a database query.
        Dim dt As New DataTable("EmployeeData")
        dt.Columns.Add("EmployeeID", GetType(Integer))
        dt.Columns.Add("FullName", GetType(String))
        dt.Columns.Add("Department", GetType(String))
        dt.Columns.Add("HireDate", GetType(Date))

        dt.Rows.Add(101, "John Smith", "Sales", New Date(2022, 5, 20))
        dt.Rows.Add(102, "Jane Doe", "Engineering", New Date(2021, 8, 15))
        dt.Rows.Add(103, "Peter Jones", "Marketing", New Date(2023, 1, 10))

        ' 2. Create a new workbook.
        Dim workbook As WorkBook = WorkBook.Create()
        Dim sheet As WorkSheet = workbook.CreateWorkSheet("Employees")

        ' 3. Write the DataTable to the worksheet starting at cell A1.
        ' The second parameter (True) indicates that column headers should be included.
        sheet.Write(dt, "A1", True)

        ' 4. Apply some styling for a more polished look.
        sheet.Columns.AutoFit()
        Dim headerRange = sheet.GetRange("A1:D1")
        headerRange.Style.Font.Bold = True
        headerRange.Style.SetBackgroundColor("#C5D9F1") ' Light Blue

        Dim dateColumn = sheet.GetRange("D2:D" & dt.Rows.Count + 1)
        dateColumn.Style.Format = "yyyy-mm-dd"

        ' 5. Save the workbook.
        workbook.SaveAs("EmployeeDatabaseExport.xlsx")
    End Sub
End Module
VB .NET

sheet.Write() yöntemi bu amaç için inanılmaz derecede etkilidir. Belirtilirse sütun başlıkları dahil olmak üzere DataTable yapısını çalışma sayfasına akıllıca eşler. Bu, veri odaklı herhangi bir uygulama için güçlü bir özellik ve manuel yineleme ile karşılaştırıldığında önemli bir zaman tasarrufu sağlar. Veri içe aktarma ve dışa aktarma ile ilgili daha fazla detay için, çeşitli elektronik tablo formatları arasında dönüştürme hakkında eğitimimize göz atın.

Excel Dosyaları Yazarken Başka Neler Yapabilirim?

Veri yazmak sadece başlangıçtır. Sağlam bir VB.NET Excel kütüphanesi, herhangi bir elektronik tablo görevini otomatikleştirmek için tam bir dizi özellik sunmalıdır. IronXL geniş kapsamlı yetenekler sunar, bunlar arasında:

  • Formüller: Programlı bir şekilde formül ayarlayın ve hesaplayın. Bir hücrenin Value'ine bir formül atayabilirsiniz (örn., sheet("C1").Value = "=SUM(A1:B1)") ve IronXL sonucu hesaplayacaktır.
  • Grafikler: Bilgiyi görselleştirmek için çalışma sayfası verilerinden çeşitli grafik türleri oluşturun.
  • Veri Doğrulama: Hücrelerde sadece belirli bir aralıkta sayılara ya da açılır liste değerleri gibi kurallar uygulayın.
  • Koşullu Biçimlendirme: Önemli veri noktalarını vurgulamak için değerlerine göre hücrelere stil uygulayın.
  • Güvenlik ve Koruma: Erişimi kontrol etmek ve değişiklikleri önlemek için çalışma sayfalarını veya tüm çalışma kitaplarını parolalarla koruyun.

Bu özellikler, doğrudan .NET uygulamalarınızda karmaşık rapor oluşturma ve veri analizi iş akışlarının tam otomasyonunu sağlar.

VB.NET'te Excel Dosyalarına Yazmaya Bugün Başlayın

Gösterildiği gibi, VB.NET'te Excel dosyalarına veri yazmak, modern bir kütüphane olan IronXL kullanarak önemli ölçüde basitleştirilmiştir. Office Interop'un karmaşıklıklarından ve bağımlılıklarından kaçınarak, daha güvenilir, performanslı ve kolayca dağıtılabilir uygulamalar oluşturabilirsiniz. İster sıfırdan Excel dosyaları oluşturmanız, ister mevcut raporlara veri eklemeniz veya bir DataTable dışa aktarmanız gerekiyorsa, IronXL işi verimli bir şekilde yapmak için sezgisel ve güçlü bir API sağlar.

IronXL'i indirin ve projelerinize ne kadar kolay entegre edilebileceğini görmek için ücretsiz deneme lisansı ile deneyin.

Daha geniş ihtiyaçları olanlar için, IronXL'in Iron Suite for .NETin bir parçası olduğunu unutmayın. Tek bir lisans ile, PDF'ler, barkodlar, OCR ve daha fazlasını işlemek için kapsamlı bir kütüphane setine erişim elde edersiniz, bu herhangi bir .NET geliştiricisi için mükemmel bir değerdir.

Jacob Mellor, Teknoloji Direktörü @ Team Iron
Teknoloji Direktörü

Jacob Mellor, Iron Software'de Baş Teknoloji Yöneticisidir ve C# PDF teknolojisinde öncü bir mühendisdir. Iron Software'ın ana kod tabanının ilk geliştiricisi olarak, CEO Cameron Rimington ile birlikte şirketin ürün mimarisini 50'den fazla kişilik bir şirkete dönüştürmüştür ve NASA, Tesla ve dünya genelindeki devlet kurumlarına hizmet etmektedir.

...
Daha Fazla Oku

İlgili Makaleler

Key in blue circle

Ücretsiz 30 günlük Deneme Anahtarınızı anında edinin.

Your trial license will be sent to your email address

Herhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.

bullet_checkedKredi kartı veya hesap oluşturma gerektirmezHerhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Ücretsiz Canlı Demo rezervasyonu yapın
Booking Badge

Dünya Çapında Milyonlarca Mühendisin Güvendiği

Iron Software müşteri logoları
Bağımsız Danışmanlık Alın
Aşağıdaki formu doldurun veya sales@ironsoftware.com adresine e-posta gönderin
Bilgileriniz daima gizli kalacaktır.
Dünya Çapında Milyonlarca Mühendisin Güvendiği
Iron Software müşteri logoları
Ücretsiz 30 Günlük Deneme Anahtarınızı anında alın.
Kredi kartı veya hesap oluşturma gerektirmez