Altbilgi içeriğine atla
IRONXL KULLANARAK

Office Interop Olmadan C#'da Excel Dosyaları Oluşturma

İronXL kullanarak Microsoft Office olmadan Excel elektronik tabloları oluşturmak, biçimlendirmek ve doldurmak için C#'ta Excel dosyaları oluşturun. Bu, sunucu ortamları, Docker konteynerleri ve CI/CD boru hatları için mükemmeldir.

Microsoft Office Olmadan Excel Dosyası Oluşturmanın Nedenleri?

Office-Free Excel Üretimi DevOps için Neden Önemli?

Office olmadan Excel üretim özelliklerinin geliştirilmesi, önemli dağıtım zorluklarını aşar. Sunucu ortamları genellikle lisanslama maliyetleri ve kaynak taleplerinden dolayı Microsoft Office'ten yoksundur. Her Office kurulumu büyük miktarda disk alanı ve bellek gerektirir, bulut dağıtımları veya konteyner uygulamaları için uygun değildir. AWS Lambda'ya dağıtım yaparken veya Docker konteynerleri içinde çalıştırırken, hafif bir çözüm altyapı otomasyonu için çok önemlidir.

IronXL, bağımsız çalışarak bu sınırlamaları ortadan kaldırır. Excel dosya oluşturmanızda, Windows, Linux, macOS, Docker konteynerleri ya da Azure Uygulama Hizmetleri üzerinde herhangi bir değişiklik olmadan çalışabilirsiniz. Bu platformlar arası uyumluluk, .NET Framework, .NET Core ya da .NET 8/9 uygulamalarını hedeflemeniz fark etmeksizin bir kez yazıp her yere dağıtma anlamına gelir. .NET MAUI ya da Blazor kullanan ekipler için IronXL, tüm modern .NET platformları arasında sorunsuz bir şekilde entegre olur.

Çeşitli .NET sürümleri (6-9, Core, Standard, Framework) için C#, F# ve VB.NET desteği gösteren, Windows, Linux, Mac, Docker, Azure ve AWS için dağıtım seçenekleri içeren çapraz platform .NET uyumluluk diyagramı

IronXL, maksimum dağıtım esnekliği için tüm ana .NET platformları ve işletim sistemlerini destekler.

IronXL, Diğer Excel Kütüphaneleriyle Nasıl Kıyaslanır?

Özellik IronXL EPPlus ClosedXML NPOI
Fiyat $749 $599 Ücretsiz Ücretsiz
Office Bağımlılığı None None None None
Performans 40x daha hızlı* İyi Orta Yavaş
Bellek Kullanımı <1GB** 2-3GB 1-2GB 3-5GB
Docker Desteği Yerel Sınırlı Temel Temel
Formül Desteği 165+ işlev 100+ 80+ Temel
Ticari Destek Evet Evet Hayır Hayır
Öğrenme Eğrisi Kolay Orta Orta Dik

*Son performans iyileştirmelerine dayalı **Büyük Excel dosyalarını işlemede

IronXL'in Sağladığı Performans Avantajları Nelerdir?

COM Interop yükü olmadan performans önemli ölçüde artar. Geleneksel Office otomasyonu, her işlem için ayrı işlem örnekleri oluşturur, bellek ve CPU kaynakları tüketir. IronXL, Excel dosyalarını programatik olarak oluştururken, uygulamanızın sürecindeki işlemleri bellek içi halinde işler, böylece daha hızlı yürütme ve daha düşük kaynak tüketimi sağlar. Kütüphane, son güncellemelerin 40 katı hız iyileştirmeleri ve bellek kullanımını 19,5 GB'dan 1 GB altında dramatik bir şekilde azaltarak, büyük performans iyileştirmeleri geçirmiştir.

Dağıtım, IronXL'nin tek bir NuGet paketi olarak sağlanmasıyla son derece basitleşir. Kayıt defteri girdileri, COM kaydı veya Office servis paketleri yoktur. Sürekli entegrasyon boru hatlarınız sorunsuz çalışır ve Docker konteynerleri hafif kalır. Bu basitleştirilmiş yaklaşım IronXL'yi popüler bir seçim haline getirmiştir; çeşitli geliştirici forumlarında Interop olmadan Excel otomasyonu ile ilgili profesyonellerin deneyimlerini paylaştığı gibi.

IronXL özeti altı anahtar yeteneği gösteren: elektronik tablolar oluşturma, birden fazla formata kaydetme ve dışa aktarma, grafiklerle Çalışma Kitaplarını düzenleme, formüllerle Veri İşleme, parolalarla çalışma kitaplarını güvence altına alma ve hücre manipülasyon fonksiyonları

IronXL, sezgisel bir API tasarımı aracılığıyla tam Excel manipülasyon özellikleri sağlar.

C# ProjemdeIronXLNasıl Kurarım?

DevOps İş Akışları İçin En İyi Kurulum Yöntemi Nedir?

IronXL'i NuGet Paket Yöneticisi ile yüklemek sadece anlar alır. Visual Studio'da, projenize sağ tıklayın ve 'NuGet Paketlerini Yönet'i seçin. 'IronXl.Excel' için arama yapın ve Yükle'ye tıklayın. Paket, C#'ta Excel dosyalarını oluşturmak için gerekli tüm bağımlılıkları otomatik olarak içerir. Geliştirme ortamınıza özgü ayrıntılı yükleme kılavuzu için, Başlangıç Genel Görünümüne bakın.

Alternatif olarak, Paket Yöneticisi Konsolunu kullanın:

Install-Package IronXl.Excel
Install-Package IronXl.Excel
SHELL

Microsoft.Extensions ve Sistem kütüphaneleri dahil 28 bağımlılık ile başarılı IronXl.Excel kurulumu gösteren Paket Yöneticisi Konsolu

Paket Yöneticisi Konsolu, gerekli tüm bağımlılıklar ile IronXL'nin başarılı kurulumunu doğrular.

IronXL'i CI/CD Boru Hatlarıyla Nasıl Entegre Ederim?

Otomatik yapı boru hatlarında modern C# projeleriyle çalışan .NET CLI kullanıcıları için:

dotnet add package IronXl.Excel
dotnet add package IronXl.Excel
SHELL

Konteyner dağıtımları için Dockerfile'a ekleyin:

RUN dotnet add package IronXl.Excel

Programatik olarak Excel dosyaları oluşturma basit testi ile yüklemeyi doğrulayın:

using IronXL;
// new Excel workbook
var workbook = WorkBook.Create();
Console.WriteLine("IronXL installed successfully!");
using IronXL;
// new Excel workbook
var workbook = WorkBook.Create();
Console.WriteLine("IronXL installed successfully!");
Imports IronXL

' new Excel workbook
Dim workbook = WorkBook.Create()
Console.WriteLine("IronXL installed successfully!")
$vbLabelText   $csharpLabel

Bu kod, bellek içinde bir çalışma kitabı nesnesi oluşturur. Eğer hata olmadan çalışıyorsa,IronXLkullanıma hazır demektir. Kütüphane, mevcut projelerinizle uyumluluğu sağlamak için tüm modern .NET sürümlerini destekler. VB.NET geliştiricileri için, benzer işlevsellik VB üzerinden örnekler ile kullanılabilir. Eski dosya formatları ile çalışırken veya dosya boyutu sorunları ile karşılaştığınızda, kütüphane tam çözümler sağlar.

Çıktı

Debug Console in Visual Studio showing IronXL installed successfully! message

Konsol cikisi IronXL'nin dogru bir sekilde yuklendigini ve Excel oluşturma gorevleri icin hazır oldugunu dogrular.

Hizli Başlangic: C# ile Excel Dosyalari Yaratma

IronXL ile Excel dosyalari yaratmak, sadece birkac satir kod gerektirir ve hizli geliştirme ve dağıtma senaryolari icin idealdir.

  1. NuGet Paket Yöneticisi ile https://www.nuget.org/packages/IronXl.Excel yükleyin

    PM > Install-Package IronXl.Excel
  2. Bu kod parçasını kopyalayıp çalıştırın.

    using IronXL;
    
    // Create a new workbook
    WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
    
    // Add a worksheet
    WorkSheet sheet = workbook.CreateWorkSheet("Sales");
    
    // Add data
    sheet["A1"].Value = "Product";
    sheet["B1"].Value = "Quantity";
    sheet["C1"].Value = "Revenue";
    
    // Save the file
    workbook.SaveAs("sales_report.xlsx");
  3. Canlı ortamınızda test etmek için dağıtın

    Bugün projenizde IronXL kullanmaya başlayın ücretsiz deneme ile

    arrow pointer

Ilk Excel Dosyamı Nasıl Yaratırım?

Temel Excel Oluşturma Icin Gerekli Adimlar Nelerdir?

IronXL kullanarak Excel dosyaları oluşturmak, Excel işlemlerine açılan kapınız olan WorkBook sınıfı ile başlar. Kutuphane, modern XLSX ve eski XLS formatlarini destekler, C# icinde Excel dosyalari oluştururken farkli gereksinimler icin esneklik sunar. ekonomi hesap tablosu oluşturma islevi, yenilikci calisma kitaplari başlatma icin tam seçenekler sunar.

using IronXL;
// Create a new workbook (XLSX format by default)
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
// Add metadata
workbook.Metadata.Title = "Monthly Sales Report";
workbook.Metadata.Author = "Sales Department";
workbook.Metadata.Comments = "Generated using IronXL";
// Create a worksheet
WorkSheet worksheet = workbook.CreateWorkSheet("January Sales");
// Add some basic data
worksheet["A1"].Value = "Date";
worksheet["B1"].Value = "Product";
worksheet["C1"].Value = "Quantity";
worksheet["D1"].Value = "Revenue";
// Add data rows
worksheet["A2"].Value = new DateTime(2024, 1, 15);
worksheet["B2"].Value = "Widget Pro";
worksheet["C2"].Value = 100;
worksheet["D2"].Value = 2500.00;
// Save the workbook
workbook.SaveAs("FirstExcelFile.xlsx");
using IronXL;
// Create a new workbook (XLSX format by default)
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
// Add metadata
workbook.Metadata.Title = "Monthly Sales Report";
workbook.Metadata.Author = "Sales Department";
workbook.Metadata.Comments = "Generated using IronXL";
// Create a worksheet
WorkSheet worksheet = workbook.CreateWorkSheet("January Sales");
// Add some basic data
worksheet["A1"].Value = "Date";
worksheet["B1"].Value = "Product";
worksheet["C1"].Value = "Quantity";
worksheet["D1"].Value = "Revenue";
// Add data rows
worksheet["A2"].Value = new DateTime(2024, 1, 15);
worksheet["B2"].Value = "Widget Pro";
worksheet["C2"].Value = 100;
worksheet["D2"].Value = 2500.00;
// Save the workbook
workbook.SaveAs("FirstExcelFile.xlsx");
Imports IronXL

' Create a new workbook (XLSX format by default)
Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)

' Add metadata
workbook.Metadata.Title = "Monthly Sales Report"
workbook.Metadata.Author = "Sales Department"
workbook.Metadata.Comments = "Generated using IronXL"

' Create a worksheet
Dim worksheet As WorkSheet = workbook.CreateWorkSheet("January Sales")

' Add some basic data
worksheet("A1").Value = "Date"
worksheet("B1").Value = "Product"
worksheet("C1").Value = "Quantity"
worksheet("D1").Value = "Revenue"

' Add data rows
worksheet("A2").Value = New DateTime(2024, 1, 15)
worksheet("B2").Value = "Widget Pro"
worksheet("C2").Value = 100
worksheet("D2").Value = 2500.0

' Save the workbook
workbook.SaveAs("FirstExcelFile.xlsx")
$vbLabelText   $csharpLabel

Yaratilan Excel Dosyalarinda Metadata'yı Nasıl Kullanmalıyım?

Bu kod, Excel dosya oluşturma icin bircok temel konsepti gösterir. WorkBook.Create() yöntemi, bellekte yeni bir Excel dosyası başlatır. ExcelFileFormat enum'ı kullanarak formatı belirtirsiniz - modern Excel uyumluluğu için XLSX veya eski destek için XLS seçin. Metadata ozelligi, belgenin Excel dosya özelliklerinde gorunen bilgilerini gomebilir, Microsoft'un belge özellik standartlarina uyum saglar ve şirket ortamlari icin dosya organizasyonuna yardimci olur. calisma kitabı metadata'sini duzenlemek hakkında daha fazla bilgi edinin.

CreateWorkSheet() yöntemi, belirtilen adla yeni bir sayfa ekler. Excel'in tanidik hucre notasyonu (A1, B1, vb.) değer atanmasını sezgisel hale getirir. IronXL, veri turu donusumlerini otomatik olarak yonetir, tarihleri, sayilari ve metinleri acik bir sekilde atama yapmadan tanir. SaveAs() yöntemi, eksiksiz Excel dosyasını diske yazar. Daha fazla calisma sayfasi islevi icin, calisma sayfasi yonetimi eğitimini inceleyin.

Çıktı

Tarih, Ürün, Miktar ve Gelir sütun başlıkları ve bir örnek veri satırı ile satış verilerini gösteren Excel dosyası

IronXL tarafindan oluşturulan temel Excel dosyası, uygun sutun basliklari ile yapılandırilmis verileri gösterir.

Excel Hücrelerine Veri Nasıl Yazılır?

Excel Verilerini Doldurmanın Verimli Yöntemleri Nelerdir?

IronXL, Excel hücrelerini doldurmak icin bireysel hucre atamalarindan toplu alan islevlerine kadar bircok yöntem sunar. Bu yöntemleri anlamak, veri senaryonuz icin en verimli yöntemi secmenize yardimci olur. Excel degerleri yazma klavuzu, tüm mevcut seçenekleri kapsamli sekilde kapsar.

WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
// Create a worksheet
WorkSheet worksheet = workbook.CreateWorkSheet("Employees");
// Individual cell assignment
worksheet["A1"].Value = "Employee Name";
worksheet["A2"].Value = "John Smith";
worksheet["A3"].Value = "Jane Doe";
// Range assignment for multiple cells
worksheet["B1:B3"].Value = "Active";
// Using numeric indices (0-based)
worksheet.SetCellValue(0, 2, "Department"); // C1
worksheet.SetCellValue(1, 2, "Sales");       // C2
worksheet.SetCellValue(2, 2, "Marketing");   // C3
// Array-based population
string[] headers = { "ID", "Name", "Email", "Phone" };
for (int i = 0; i < headers.Length; i++)
{
    worksheet.SetCellValue(0, i, headers[i]);
}
// Working with different data types
worksheet["E1"].Value = "Salary";
worksheet["E2"].Value = 75000.50m;  // Decimal for currency
worksheet["E3"].Value = 82000.75m;
worksheet["F1"].Value = "Start Date";
worksheet["F2"].Value = new DateTime(2020, 3, 15);
worksheet["F3"].Value = new DateTime(2019, 7, 1);
worksheet["G1"].Value = "Full Time";
worksheet["G2"].Value = true;  // Boolean
worksheet["G3"].Value = true;
workbook.SaveAs("EmployeeData.xlsx");
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
// Create a worksheet
WorkSheet worksheet = workbook.CreateWorkSheet("Employees");
// Individual cell assignment
worksheet["A1"].Value = "Employee Name";
worksheet["A2"].Value = "John Smith";
worksheet["A3"].Value = "Jane Doe";
// Range assignment for multiple cells
worksheet["B1:B3"].Value = "Active";
// Using numeric indices (0-based)
worksheet.SetCellValue(0, 2, "Department"); // C1
worksheet.SetCellValue(1, 2, "Sales");       // C2
worksheet.SetCellValue(2, 2, "Marketing");   // C3
// Array-based population
string[] headers = { "ID", "Name", "Email", "Phone" };
for (int i = 0; i < headers.Length; i++)
{
    worksheet.SetCellValue(0, i, headers[i]);
}
// Working with different data types
worksheet["E1"].Value = "Salary";
worksheet["E2"].Value = 75000.50m;  // Decimal for currency
worksheet["E3"].Value = 82000.75m;
worksheet["F1"].Value = "Start Date";
worksheet["F2"].Value = new DateTime(2020, 3, 15);
worksheet["F3"].Value = new DateTime(2019, 7, 1);
worksheet["G1"].Value = "Full Time";
worksheet["G2"].Value = true;  // Boolean
worksheet["G3"].Value = true;
workbook.SaveAs("EmployeeData.xlsx");
Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
' Create a worksheet
Dim worksheet As WorkSheet = workbook.CreateWorkSheet("Employees")
' Individual cell assignment
worksheet("A1").Value = "Employee Name"
worksheet("A2").Value = "John Smith"
worksheet("A3").Value = "Jane Doe"
' Range assignment for multiple cells
worksheet("B1:B3").Value = "Active"
' Using numeric indices (0-based)
worksheet.SetCellValue(0, 2, "Department") ' C1
worksheet.SetCellValue(1, 2, "Sales")       ' C2
worksheet.SetCellValue(2, 2, "Marketing")   ' C3
' Array-based population
Dim headers As String() = {"ID", "Name", "Email", "Phone"}
For i As Integer = 0 To headers.Length - 1
    worksheet.SetCellValue(0, i, headers(i))
Next
' Working with different data types
worksheet("E1").Value = "Salary"
worksheet("E2").Value = 75000.5D  ' Decimal for currency
worksheet("E3").Value = 82000.75D
worksheet("F1").Value = "Start Date"
worksheet("F2").Value = New DateTime(2020, 3, 15)
worksheet("F3").Value = New DateTime(2019, 7, 1)
worksheet("G1").Value = "Full Time"
worksheet("G2").Value = True  ' Boolean
worksheet("G3").Value = True
workbook.SaveAs("EmployeeData.xlsx")
$vbLabelText   $csharpLabel

Buyuk Veri Setleri Nasıl Verimli Sekilde Yoneltilir?

Kod, IronXL'nin esnek hücre adresleme yeteneklerini gösterir. Dize notasyonu ("A1"), Excel kullanıcıları icin dogal gelirken, numerik indeksler donguler ve dinamik oluşturmalar icin programatik kontrol sunar. Aralik atamalari ("B1:B3"), bircok hücreyi ayni degerle verimli bir sekilde ayarlayarak, sutunların başlatilmasi veya varsıyılan degerlerin uygulanmasi icin mukemmeldir. adlandirilmis araliklar veya adlandirilmis tablolar ile calisirken IronXL, ek organizasyonel yetenekler saglar.

Daha buyuk veri setleri icin bu formulu dusunun:

// Populate from a data source
var employees = GetEmployeeData(); // Your data source
for (int row = 0; row < employees.Count; row++)
{
    worksheet[$"A{row + 2}"].Value = employees[row].Id;
    worksheet[$"B{row + 2}"].Value = employees[row].Name;
    worksheet[$"C{row + 2}"].Value = employees[row].Department;
    worksheet[$"D{row + 2}"].Value = employees[row].Salary;
}
// Populate from a data source
var employees = GetEmployeeData(); // Your data source
for (int row = 0; row < employees.Count; row++)
{
    worksheet[$"A{row + 2}"].Value = employees[row].Id;
    worksheet[$"B{row + 2}"].Value = employees[row].Name;
    worksheet[$"C{row + 2}"].Value = employees[row].Department;
    worksheet[$"D{row + 2}"].Value = employees[row].Salary;
}
' Populate from a data source
Dim employees = GetEmployeeData() ' Your data source
For row As Integer = 0 To employees.Count - 1
    worksheet($"A{row + 2}").Value = employees(row).Id
    worksheet($"B{row + 2}").Value = employees(row).Name
    worksheet($"C{row + 2}").Value = employees(row).Department
    worksheet($"D{row + 2}").Value = employees(row).Salary
Next
$vbLabelText   $csharpLabel

Bu yöntem, veri koleksiyonunuzdaki her ozelligin ilgili sutuna eslenmesini saglayarak, veri koleksiyonunuza donusur. Dize interpolasyonu ($"A{row + 2}") hucre adreslerini dinamik olarak uretir, baslikları korumak icin satir 2'den itibaren başlanir. Satirlar ve sutunlar ekleyebilir veya hucre araliklarini kopyalayabilirsiniz verimlilik icin buyuk veri setleri ile calisirken.

Çıktı

ID, Ad, E-posta, Bölüm, Telefon, Maaş, Başlangıç Tarihi ve Tam Zamanlı durum sütunlarını içeren iki çalışan kaydı gösteren Çalışan verileri Excel tablosu

IronXL'de birden fazla veri turleri ve hucre atama metodlarini gösteren Calisan verileri hesap tablosu.

Profesyonel Biçimlendirme Nasıl Uygulanır?

Entreprise Kalitesinde Excel Dosyalari Oluşturmak Icin Gerekli Olanlar Nelerdir?

Profesyonel Excel dosyalari sadece ham verilerden daha fazlasini gerektirir. IronXL'nin stil API'si, C#'da Excel dosyalari urettiginde duz hesap tablolarını biçimlendirme, renkler ve görsel hiyerarsi ile cilalanmis is belgelerine dönüştürur. Kutuphane, görsel olarak cekici hesap tabloları icin tam hucre biçimlendirme seçenekleri sunar.

using IronXL;
using IronXl.Formatting;

WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
// Create a worksheet
WorkSheet worksheet = workbook.CreateWorkSheet("Employees");

// Add sample data first
worksheet["A1"].Value = "ID";
worksheet["B1"].Value = "Name";
worksheet["C1"].Value = "Department";
worksheet["D1"].Value = "Phone";
worksheet["E1"].Value = "Salary";
worksheet["F1"].Value = "Start Date";
worksheet["G1"].Value = "Full Time";

// Add employee data
worksheet["A2"].Value = 101;
worksheet["B2"].Value = "John Smith";
worksheet["C2"].Value = "Sales";
worksheet["D2"].Value = "(555) 123-4567";
worksheet["E2"].Value = 75000.50m;
worksheet["F2"].Value = new DateTime(2020, 3, 15);
worksheet["G2"].Value = true;

worksheet["A3"].Value = 102;
worksheet["B3"].Value = "Jane Doe";
worksheet["C3"].Value = "Marketing";
worksheet["D3"].Value = "(555) 987-6543";
worksheet["E3"].Value = 82000.75m;
worksheet["F3"].Value = new DateTime(2019, 7, 1);
worksheet["G3"].Value = true;

// Header formatting
var headerRange = worksheet["A1:G1"];
headerRange.Style.Font.Bold = true;
headerRange.Style.Font.Height = 12;
headerRange.Style.SetBackgroundColor("#4472C4");
headerRange.Style.Font.Color = "#FFFFFF";
// Column width adjustment
worksheet.AutoSizeColumn(0); // Auto-fit column A
worksheet.SetColumnWidth(1, 20); // Set column B to 20 characters
// Number formatting
var salaryColumn = worksheet["E2:E3"];
salaryColumn.FormatString = "$#,##0.00";
// Date formatting  
var dateColumn = worksheet["F2:F3"];
dateColumn.FormatString = "MM/dd/yyyy";
// Cell borders
var dataRange = worksheet["A1:G3"];
dataRange.Style.TopBorder.Type = IronXl.Styles.BorderType.Thin;
dataRange.Style.BottomBorder.Type = IronXl.Styles.BorderType.Thin;
dataRange.Style.LeftBorder.Type = IronXl.Styles.BorderType.Thin;
dataRange.Style.RightBorder.Type = IronXl.Styles.BorderType.Thin;
// To set border color, use:
dataRange.Style.TopBorder.SetColor("#000000");
dataRange.Style.BottomBorder.SetColor("#000000");
dataRange.Style.LeftBorder.SetColor("#000000");
dataRange.Style.RightBorder.SetColor("#000000");
// Text alignment
worksheet["A1:G1"].Style.HorizontalAlignment = IronXl.Styles.HorizontalAlignment.Center;
// Alternating row colors for readability
for (int row = 2; row <= 3; row++)
{
    if (row % 2 == 0)
    {
        worksheet[$"A{row}:G{row}"].Style.SetBackgroundColor("#F2F2F2");
    }
}

workbook.SaveAs("FormattedEmployees.xlsx");
using IronXL;
using IronXl.Formatting;

WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
// Create a worksheet
WorkSheet worksheet = workbook.CreateWorkSheet("Employees");

// Add sample data first
worksheet["A1"].Value = "ID";
worksheet["B1"].Value = "Name";
worksheet["C1"].Value = "Department";
worksheet["D1"].Value = "Phone";
worksheet["E1"].Value = "Salary";
worksheet["F1"].Value = "Start Date";
worksheet["G1"].Value = "Full Time";

// Add employee data
worksheet["A2"].Value = 101;
worksheet["B2"].Value = "John Smith";
worksheet["C2"].Value = "Sales";
worksheet["D2"].Value = "(555) 123-4567";
worksheet["E2"].Value = 75000.50m;
worksheet["F2"].Value = new DateTime(2020, 3, 15);
worksheet["G2"].Value = true;

worksheet["A3"].Value = 102;
worksheet["B3"].Value = "Jane Doe";
worksheet["C3"].Value = "Marketing";
worksheet["D3"].Value = "(555) 987-6543";
worksheet["E3"].Value = 82000.75m;
worksheet["F3"].Value = new DateTime(2019, 7, 1);
worksheet["G3"].Value = true;

// Header formatting
var headerRange = worksheet["A1:G1"];
headerRange.Style.Font.Bold = true;
headerRange.Style.Font.Height = 12;
headerRange.Style.SetBackgroundColor("#4472C4");
headerRange.Style.Font.Color = "#FFFFFF";
// Column width adjustment
worksheet.AutoSizeColumn(0); // Auto-fit column A
worksheet.SetColumnWidth(1, 20); // Set column B to 20 characters
// Number formatting
var salaryColumn = worksheet["E2:E3"];
salaryColumn.FormatString = "$#,##0.00";
// Date formatting  
var dateColumn = worksheet["F2:F3"];
dateColumn.FormatString = "MM/dd/yyyy";
// Cell borders
var dataRange = worksheet["A1:G3"];
dataRange.Style.TopBorder.Type = IronXl.Styles.BorderType.Thin;
dataRange.Style.BottomBorder.Type = IronXl.Styles.BorderType.Thin;
dataRange.Style.LeftBorder.Type = IronXl.Styles.BorderType.Thin;
dataRange.Style.RightBorder.Type = IronXl.Styles.BorderType.Thin;
// To set border color, use:
dataRange.Style.TopBorder.SetColor("#000000");
dataRange.Style.BottomBorder.SetColor("#000000");
dataRange.Style.LeftBorder.SetColor("#000000");
dataRange.Style.RightBorder.SetColor("#000000");
// Text alignment
worksheet["A1:G1"].Style.HorizontalAlignment = IronXl.Styles.HorizontalAlignment.Center;
// Alternating row colors for readability
for (int row = 2; row <= 3; row++)
{
    if (row % 2 == 0)
    {
        worksheet[$"A{row}:G{row}"].Style.SetBackgroundColor("#F2F2F2");
    }
}

workbook.SaveAs("FormattedEmployees.xlsx");
Imports IronXL
Imports IronXl.Formatting

Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
' Create a worksheet
Dim worksheet As WorkSheet = workbook.CreateWorkSheet("Employees")

' Add sample data first
worksheet("A1").Value = "ID"
worksheet("B1").Value = "Name"
worksheet("C1").Value = "Department"
worksheet("D1").Value = "Phone"
worksheet("E1").Value = "Salary"
worksheet("F1").Value = "Start Date"
worksheet("G1").Value = "Full Time"

' Add employee data
worksheet("A2").Value = 101
worksheet("B2").Value = "John Smith"
worksheet("C2").Value = "Sales"
worksheet("D2").Value = "(555) 123-4567"
worksheet("E2").Value = 75000.5D
worksheet("F2").Value = New DateTime(2020, 3, 15)
worksheet("G2").Value = True

worksheet("A3").Value = 102
worksheet("B3").Value = "Jane Doe"
worksheet("C3").Value = "Marketing"
worksheet("D3").Value = "(555) 987-6543"
worksheet("E3").Value = 82000.75D
worksheet("F3").Value = New DateTime(2019, 7, 1)
worksheet("G3").Value = True

' Header formatting
Dim headerRange = worksheet("A1:G1")
headerRange.Style.Font.Bold = True
headerRange.Style.Font.Height = 12
headerRange.Style.SetBackgroundColor("#4472C4")
headerRange.Style.Font.Color = "#FFFFFF"
' Column width adjustment
worksheet.AutoSizeColumn(0) ' Auto-fit column A
worksheet.SetColumnWidth(1, 20) ' Set column B to 20 characters
' Number formatting
Dim salaryColumn = worksheet("E2:E3")
salaryColumn.FormatString = "$#,##0.00"
' Date formatting  
Dim dateColumn = worksheet("F2:F3")
dateColumn.FormatString = "MM/dd/yyyy"
' Cell borders
Dim dataRange = worksheet("A1:G3")
dataRange.Style.TopBorder.Type = IronXl.Styles.BorderType.Thin
dataRange.Style.BottomBorder.Type = IronXl.Styles.BorderType.Thin
dataRange.Style.LeftBorder.Type = IronXl.Styles.BorderType.Thin
dataRange.Style.RightBorder.Type = IronXl.Styles.BorderType.Thin
' To set border color, use:
dataRange.Style.TopBorder.SetColor("#000000")
dataRange.Style.BottomBorder.SetColor("#000000")
dataRange.Style.LeftBorder.SetColor("#000000")
dataRange.Style.RightBorder.SetColor("#000000")
' Text alignment
worksheet("A1:G1").Style.HorizontalAlignment = IronXl.Styles.HorizontalAlignment.Center
' Alternating row colors for readability
For row As Integer = 2 To 3
    If row Mod 2 = 0 Then
        worksheet($"A{row}:G{row}").Style.SetBackgroundColor("#F2F2F2")
    End If
Next

workbook.SaveAs("FormattedEmployees.xlsx")
$vbLabelText   $csharpLabel

Gelişmiş Stile Özellikleri Nasıl Uygulanır?

Bu biçimlendirme kodu, entreprise standartları karşılayan bir profesyonel görünüm yaratır. Arka plan desenleri ve renkler ile cesur basliklar, gorunen hiyerarsi kurar. SetBackgroundColor() yöntemi, renk düzeninizi tam olarak kontrol etmenizi sağlayan 16'lık renk kodlarını kabul eder. Font özellikleri arasında boyut, renk, kalın, italik ve altı cizili seçenekler bulunur, hepsi şirket markalama rehberine uygun Excel dosyalari yaratmak icin onemlidir. Gelişmiş stil gereksinimlerinde, kosullu biçimlendirme yeteneklerini inceleyin.

Sutun genişliği ayarlamaları, metin kesilmesini onler. AutoSizeColumn() içerik otomatik olarak uyumlu hale getirirken, SetColumnWidth() tam denetim sağlar. Satirlar ve sutunlari otomatik ayarlama ozelligi, verilerinizin optimal görüntülenmesini saglar. Sayı biçimlendirme Excel'in format kodlarını kullanır - genis kapsamlı biçimlendirme seçenekleri icin Excel sayı formatları hakkında daha fazla bilgi edinin.

kenar ve hücre hizasi verileri sinirlar, okunabilirligi artirir. BorderType enum'ı çeşitli stiller sunar: ince, orta, kalın, noktalı ve kesik çizgili. Kenar ve hizalama seçenekleri, basliklari ortalar ve sayıları sağa hizalar, hesap tablosu geleneklerini takip eder. Sık sık 'Bantli Satirlar' olarak adlandirilan alternatif satir renkleri, okuyucuların genis veri setleri boyunca bilgileri izlemelerine yardimci olur.

Çıktı

Mavi başlıklar, biçimlendirilmiş para birimi, tarihler ve temiz kenarlıklarla düzenlenmiş çalışan bilgilerini gösteren Profesyonel Excel çalışan verileri

İş dokümanları için IronXL'nin biçimlendirme yeteneklerini gösteren profesyonel olarak biçimlendirilmiş Excel dosyası.

Excel Formüllerini Programlı Olarak Nasıl Kullanırım?

Hangi Formul Özellikleri Dinamik Hesaplamalari Etkin Kılar?

Excel formülleri otomatik hesaplamalar ile hesap tablolarini canlandirir. IronXL, dinamik hesap tabloları oluşturmanızı sağlayan formül yazma ve derecelendirmeyi destekler ve bunları otomatik olarak günceller. Kutuphane, 165'ten fazla Excel fonksiyonunu destekler ve formulleri düzeltmenizi programli sekilde saglar.

var workbook = WorkBook.Create();
// Create a budget worksheet
WorkSheet budget = workbook.CreateWorkSheet("Q1 Budget");
// Headers
budget["A1"].Value = "Category";
budget["B1"].Value = "January";
budget["C1"].Value = "February";
budget["D1"].Value = "March";
budget["E1"].Value = "Q1 Total";
// Budget categories and values
string[] categories = { "Salaries", "Marketing", "Operations", "Equipment", "Training" };
decimal[,] monthlyBudgets = {
    { 50000, 52000, 51000 },
    { 15000, 18000, 20000 },
    { 8000, 8500, 9000 },
    { 12000, 5000, 7000 },
    { 3000, 3500, 4000 }
};
// Populate data
for (int i = 0; i < categories.Length; i++)
{
    budget[$"A{i + 2}"].Value = categories[i];
    budget[$"B{i + 2}"].Value = monthlyBudgets[i, 0];
    budget[$"C{i + 2}"].Value = monthlyBudgets[i, 1];
    budget[$"D{i + 2}"].Value = monthlyBudgets[i, 2];
    // Row total formula
    budget[$"E{i + 2}"].Formula = $"=SUM(B{i + 2}:D{i + 2})";
}
// Monthly totals row
budget["A7"].Value = "Monthly Total";
budget["B7"].Formula = "=SUM(B2:B6)";
budget["C7"].Formula = "=SUM(C2:C6)";
budget["D7"].Formula = "=SUM(D2:D6)";
budget["E7"].Formula = "=SUM(E2:E6)";
// Calculate percentages
budget["A9"].Value = "Marketing %";
budget["B9"].Formula = "=B3/B7*100";
budget["C9"].Formula = "=C3/C7*100";
budget["D9"].Formula = "=D3/D7*100";
// Average calculation
budget["A10"].Value = "Average Spending";
budget["B10"].Formula = "=AVERAGE(B2:B6)";
// Evaluate all formulas
workbook.EvaluateAll();
workbook.SaveAs("Budget.xlsx");
var workbook = WorkBook.Create();
// Create a budget worksheet
WorkSheet budget = workbook.CreateWorkSheet("Q1 Budget");
// Headers
budget["A1"].Value = "Category";
budget["B1"].Value = "January";
budget["C1"].Value = "February";
budget["D1"].Value = "March";
budget["E1"].Value = "Q1 Total";
// Budget categories and values
string[] categories = { "Salaries", "Marketing", "Operations", "Equipment", "Training" };
decimal[,] monthlyBudgets = {
    { 50000, 52000, 51000 },
    { 15000, 18000, 20000 },
    { 8000, 8500, 9000 },
    { 12000, 5000, 7000 },
    { 3000, 3500, 4000 }
};
// Populate data
for (int i = 0; i < categories.Length; i++)
{
    budget[$"A{i + 2}"].Value = categories[i];
    budget[$"B{i + 2}"].Value = monthlyBudgets[i, 0];
    budget[$"C{i + 2}"].Value = monthlyBudgets[i, 1];
    budget[$"D{i + 2}"].Value = monthlyBudgets[i, 2];
    // Row total formula
    budget[$"E{i + 2}"].Formula = $"=SUM(B{i + 2}:D{i + 2})";
}
// Monthly totals row
budget["A7"].Value = "Monthly Total";
budget["B7"].Formula = "=SUM(B2:B6)";
budget["C7"].Formula = "=SUM(C2:C6)";
budget["D7"].Formula = "=SUM(D2:D6)";
budget["E7"].Formula = "=SUM(E2:E6)";
// Calculate percentages
budget["A9"].Value = "Marketing %";
budget["B9"].Formula = "=B3/B7*100";
budget["C9"].Formula = "=C3/C7*100";
budget["D9"].Formula = "=D3/D7*100";
// Average calculation
budget["A10"].Value = "Average Spending";
budget["B10"].Formula = "=AVERAGE(B2:B6)";
// Evaluate all formulas
workbook.EvaluateAll();
workbook.SaveAs("Budget.xlsx");
Imports System

Dim workbook = WorkBook.Create()
' Create a budget worksheet
Dim budget As WorkSheet = workbook.CreateWorkSheet("Q1 Budget")
' Headers
budget("A1").Value = "Category"
budget("B1").Value = "January"
budget("C1").Value = "February"
budget("D1").Value = "March"
budget("E1").Value = "Q1 Total"
' Budget categories and values
Dim categories As String() = {"Salaries", "Marketing", "Operations", "Equipment", "Training"}
Dim monthlyBudgets As Decimal(,) = {
    {50000, 52000, 51000},
    {15000, 18000, 20000},
    {8000, 8500, 9000},
    {12000, 5000, 7000},
    {3000, 3500, 4000}
}
' Populate data
For i As Integer = 0 To categories.Length - 1
    budget($"A{i + 2}").Value = categories(i)
    budget($"B{i + 2}").Value = monthlyBudgets(i, 0)
    budget($"C{i + 2}").Value = monthlyBudgets(i, 1)
    budget($"D{i + 2}").Value = monthlyBudgets(i, 2)
    ' Row total formula
    budget($"E{i + 2}").Formula = $"=SUM(B{i + 2}:D{i + 2})"
Next
' Monthly totals row
budget("A7").Value = "Monthly Total"
budget("B7").Formula = "=SUM(B2:B6)"
budget("C7").Formula = "=SUM(C2:C6)"
budget("D7").Formula = "=SUM(D2:D6)"
budget("E7").Formula = "=SUM(E2:E6)"
' Calculate percentages
budget("A9").Value = "Marketing %"
budget("B9").Formula = "=B3/B7*100"
budget("C9").Formula = "=C3/C7*100"
budget("D9").Formula = "=D3/D7*100"
' Average calculation
budget("A10").Value = "Average Spending"
budget("B10").Formula = "=AVERAGE(B2:B6)"
' Evaluate all formulas
workbook.EvaluateAll()
workbook.SaveAs("Budget.xlsx")
$vbLabelText   $csharpLabel

Yaygin Formul Sorunlarini Nasıl Gideririm?

Bu butce ornegi, pratik formül uygulamasını gösterir. Formula ozelligi, bir eşittir işareti ile başlayan standart Excel formül sözdizimini kabul eder.IronXLyaygın fonksiyonları destekler: SUM, AVERAGE, COUNT, MAX, MIN ve daha birçokları. Formullerdeki hucre referansları, Excel'deki gibi çalişır, göreceli ve mutlak referanslar dahil olmak üzere. Daha gelişmiş hesaplamalar icin, aggregat Excel işlevlerini ve C# icinde Excel formüllerini inceleyin.

Formüller beklenen şekilde hesaplanmadiğında:

  • Doğru sözdizimini sağlama: Formüller = ile başlamalıdır
  • Hucre referanslarini kontrol edin: Tekrarlarin dogru oldugundan emin olun
  • EvaluateAll() çağır: Kayıt etmeden önce sonuçları görmek için gereklidir
  • Veri turlerini dogrulayın: Numerik hücrelerin metin değil, sayi icermesi gerektiginden emin olun

EvaluateAll() yöntemi tüm formülleri işler ve hesaplanan değerleri Çalışma Kitabı boyunca günceller. Bu, Excel'de açıldığında formüllerin sonucu göstereceğini saglar. Degerlendirme olmadan, Excel yeniden hesaplamayı kullanıcı ikişik edene kadar formülleri gösterebilir. C# icindeki Excel formüllerini iceren komplex senaryolar icin,IronXLkapsamli destek sunar.

Çıktı

Aylık değerleri, hesaplanan toplamları, pazarlama yüzdeleri ve ortalama harcama formüllerini gösteren Q1 Bütçe Excel tablosu

Butce calisma sayfasi, toplamları ve yüzdeleri otomatik olarak hesaplayan aktif formülleri ile.

Verileri Veritabanlarindan Excel'e Nasıl Aktarırım?

Veritabani-Excel Aktarimi Icin En Iyi Uygulamalar Nelerdir?

Gerçek dunya uygulamaları sık sık raporlar ve analizler icin veritabanı verilerini Excel'e aktarır. IronXL, yerleşik DataTable desteği ile bu süreci kolaylaştırır, C# uygulamalarından Excel dosyaları oluştururken manuel alan eşlemesini ortadan kaldırır. Kütüphane, veritabanı entegrasyonu icin birden fazla yöntem ve DataGrid uyumluluğu sunar.

using System.Data;
using System.Data.SqlClient;
// Simulate database retrieval (replace with your actual database code)
DataTable GetSalesData()
{
    DataTable dt = new DataTable("Sales");
    dt.Columns.Add("OrderID", typeof(int));
    dt.Columns.Add("CustomerName", typeof(string));
    dt.Columns.Add("Product", typeof(string));
    dt.Columns.Add("Quantity", typeof(int));
    dt.Columns.Add("UnitPrice", typeof(decimal));
    dt.Columns.Add("OrderDate", typeof(DateTime));
    // Sample data (normally from database)
    dt.Rows.Add(1001, "ABC Corp", "Widget Pro", 50, 25.99m, DateTime.Now.AddDays(-5));
    dt.Rows.Add(1002, "XYZ Ltd", "Widget Basic", 100, 15.99m, DateTime.Now.AddDays(-4));
    dt.Rows.Add(1003, "ABC Corp", "Widget Premium", 25, 45.99m, DateTime.Now.AddDays(-3));
    dt.Rows.Add(1004, "Tech Solutions", "Widget Pro", 75, 25.99m, DateTime.Now.AddDays(-2));
    dt.Rows.Add(1005, "XYZ Ltd", "Widget Premium", 30, 45.99m, DateTime.Now.AddDays(-1));
    return dt;
}
// Export to Excel
WorkBook reportWorkbook = WorkBook.Create();
WorkSheet reportSheet = reportWorkbook.CreateWorkSheet("Sales Report");
// Get data from database
DataTable salesData = GetSalesData();
// Method 1: Manual mapping with formatting
reportSheet["A1"].Value = "Order Report - " + DateTime.Now.ToString("MMMM yyyy");
reportSheet.Merge("A1:F1");
reportSheet["A1"].Style.Font.Bold = true;
reportSheet["A1"].Style.Font.Height = 14;
// Headers
int headerRow = 3;
for (int col = 0; col < salesData.Columns.Count; col++)
{
    reportSheet.SetCellValue(headerRow - 1, col, salesData.Columns[col].ColumnName);
}
// Format headers
var headers = reportSheet[$"A{headerRow}:F{headerRow}"];
headers.Style.Font.Bold = true;
headers.Style.SetBackgroundColor("#D9E1F2");
// Data rows
for (int row = 0; row < salesData.Rows.Count; row++)
{
    for (int col = 0; col < salesData.Columns.Count; col++)
    {
        reportSheet.SetCellValue(row + headerRow, col, salesData.Rows[row][col]);
    }
    // Add total column with formula
    reportSheet[$"G{row + headerRow + 1}"].Formula = $"=D{row + headerRow + 1}*E{row + headerRow + 1}";
}
// Add total header and format
reportSheet["G3"].Value = "Total";
reportSheet["G3"].Style.Font.Bold = true;
reportSheet["G3"].Style.SetBackgroundColor("#D9E1F2");
// Format currency columns
reportSheet[$"E{headerRow + 1}:E{headerRow + salesData.Rows.Count}"].FormatString = "$#,##0.00";
reportSheet[$"G{headerRow + 1}:G{headerRow + salesData.Rows.Count}"].FormatString = "$#,##0.00";
// Format date column
reportSheet[$"F{headerRow + 1}:F{headerRow + salesData.Rows.Count}"].FormatString = "MM/dd/yyyy";
// Add summary section
int summaryRow = headerRow + salesData.Rows.Count + 2;
reportSheet[$"A{summaryRow}"].Value = "Summary";
reportSheet[$"A{summaryRow}"].Style.Font.Bold = true;
reportSheet[$"A{summaryRow + 1}"].Value = "Total Orders:";
reportSheet[$"B{summaryRow + 1}"].Formula = $"=COUNTA(A{headerRow + 1}:A{headerRow + salesData.Rows.Count})";
reportSheet[$"A{summaryRow + 2}"].Value = "Total Revenue:";
reportSheet[$"B{summaryRow + 2}"].Formula = $"=SUM(G{headerRow + 1}:G{headerRow + salesData.Rows.Count})";
reportSheet[$"B{summaryRow + 2}"].FormatString = "$#,##0.00";
// Auto-fit columns
for (int col = 0; col <= 6; col++)
{
    reportSheet.AutoSizeColumn(col);
}
// Evaluate formulas and save
reportWorkbook.EvaluateAll();
reportWorkbook.SaveAs("DatabaseExport.xlsx");
using System.Data;
using System.Data.SqlClient;
// Simulate database retrieval (replace with your actual database code)
DataTable GetSalesData()
{
    DataTable dt = new DataTable("Sales");
    dt.Columns.Add("OrderID", typeof(int));
    dt.Columns.Add("CustomerName", typeof(string));
    dt.Columns.Add("Product", typeof(string));
    dt.Columns.Add("Quantity", typeof(int));
    dt.Columns.Add("UnitPrice", typeof(decimal));
    dt.Columns.Add("OrderDate", typeof(DateTime));
    // Sample data (normally from database)
    dt.Rows.Add(1001, "ABC Corp", "Widget Pro", 50, 25.99m, DateTime.Now.AddDays(-5));
    dt.Rows.Add(1002, "XYZ Ltd", "Widget Basic", 100, 15.99m, DateTime.Now.AddDays(-4));
    dt.Rows.Add(1003, "ABC Corp", "Widget Premium", 25, 45.99m, DateTime.Now.AddDays(-3));
    dt.Rows.Add(1004, "Tech Solutions", "Widget Pro", 75, 25.99m, DateTime.Now.AddDays(-2));
    dt.Rows.Add(1005, "XYZ Ltd", "Widget Premium", 30, 45.99m, DateTime.Now.AddDays(-1));
    return dt;
}
// Export to Excel
WorkBook reportWorkbook = WorkBook.Create();
WorkSheet reportSheet = reportWorkbook.CreateWorkSheet("Sales Report");
// Get data from database
DataTable salesData = GetSalesData();
// Method 1: Manual mapping with formatting
reportSheet["A1"].Value = "Order Report - " + DateTime.Now.ToString("MMMM yyyy");
reportSheet.Merge("A1:F1");
reportSheet["A1"].Style.Font.Bold = true;
reportSheet["A1"].Style.Font.Height = 14;
// Headers
int headerRow = 3;
for (int col = 0; col < salesData.Columns.Count; col++)
{
    reportSheet.SetCellValue(headerRow - 1, col, salesData.Columns[col].ColumnName);
}
// Format headers
var headers = reportSheet[$"A{headerRow}:F{headerRow}"];
headers.Style.Font.Bold = true;
headers.Style.SetBackgroundColor("#D9E1F2");
// Data rows
for (int row = 0; row < salesData.Rows.Count; row++)
{
    for (int col = 0; col < salesData.Columns.Count; col++)
    {
        reportSheet.SetCellValue(row + headerRow, col, salesData.Rows[row][col]);
    }
    // Add total column with formula
    reportSheet[$"G{row + headerRow + 1}"].Formula = $"=D{row + headerRow + 1}*E{row + headerRow + 1}";
}
// Add total header and format
reportSheet["G3"].Value = "Total";
reportSheet["G3"].Style.Font.Bold = true;
reportSheet["G3"].Style.SetBackgroundColor("#D9E1F2");
// Format currency columns
reportSheet[$"E{headerRow + 1}:E{headerRow + salesData.Rows.Count}"].FormatString = "$#,##0.00";
reportSheet[$"G{headerRow + 1}:G{headerRow + salesData.Rows.Count}"].FormatString = "$#,##0.00";
// Format date column
reportSheet[$"F{headerRow + 1}:F{headerRow + salesData.Rows.Count}"].FormatString = "MM/dd/yyyy";
// Add summary section
int summaryRow = headerRow + salesData.Rows.Count + 2;
reportSheet[$"A{summaryRow}"].Value = "Summary";
reportSheet[$"A{summaryRow}"].Style.Font.Bold = true;
reportSheet[$"A{summaryRow + 1}"].Value = "Total Orders:";
reportSheet[$"B{summaryRow + 1}"].Formula = $"=COUNTA(A{headerRow + 1}:A{headerRow + salesData.Rows.Count})";
reportSheet[$"A{summaryRow + 2}"].Value = "Total Revenue:";
reportSheet[$"B{summaryRow + 2}"].Formula = $"=SUM(G{headerRow + 1}:G{headerRow + salesData.Rows.Count})";
reportSheet[$"B{summaryRow + 2}"].FormatString = "$#,##0.00";
// Auto-fit columns
for (int col = 0; col <= 6; col++)
{
    reportSheet.AutoSizeColumn(col);
}
// Evaluate formulas and save
reportWorkbook.EvaluateAll();
reportWorkbook.SaveAs("DatabaseExport.xlsx");
Imports System.Data
Imports System.Data.SqlClient

' Simulate database retrieval (replace with your actual database code)
Function GetSalesData() As DataTable
    Dim dt As New DataTable("Sales")
    dt.Columns.Add("OrderID", GetType(Integer))
    dt.Columns.Add("CustomerName", GetType(String))
    dt.Columns.Add("Product", GetType(String))
    dt.Columns.Add("Quantity", GetType(Integer))
    dt.Columns.Add("UnitPrice", GetType(Decimal))
    dt.Columns.Add("OrderDate", GetType(DateTime))
    ' Sample data (normally from database)
    dt.Rows.Add(1001, "ABC Corp", "Widget Pro", 50, 25.99D, DateTime.Now.AddDays(-5))
    dt.Rows.Add(1002, "XYZ Ltd", "Widget Basic", 100, 15.99D, DateTime.Now.AddDays(-4))
    dt.Rows.Add(1003, "ABC Corp", "Widget Premium", 25, 45.99D, DateTime.Now.AddDays(-3))
    dt.Rows.Add(1004, "Tech Solutions", "Widget Pro", 75, 25.99D, DateTime.Now.AddDays(-2))
    dt.Rows.Add(1005, "XYZ Ltd", "Widget Premium", 30, 45.99D, DateTime.Now.AddDays(-1))
    Return dt
End Function

' Export to Excel
Dim reportWorkbook As WorkBook = WorkBook.Create()
Dim reportSheet As WorkSheet = reportWorkbook.CreateWorkSheet("Sales Report")

' Get data from database
Dim salesData As DataTable = GetSalesData()

' Method 1: Manual mapping with formatting
reportSheet("A1").Value = "Order Report - " & DateTime.Now.ToString("MMMM yyyy")
reportSheet.Merge("A1:F1")
reportSheet("A1").Style.Font.Bold = True
reportSheet("A1").Style.Font.Height = 14

' Headers
Dim headerRow As Integer = 3
For col As Integer = 0 To salesData.Columns.Count - 1
    reportSheet.SetCellValue(headerRow - 1, col, salesData.Columns(col).ColumnName)
Next

' Format headers
Dim headers = reportSheet($"A{headerRow}:F{headerRow}")
headers.Style.Font.Bold = True
headers.Style.SetBackgroundColor("#D9E1F2")

' Data rows
For row As Integer = 0 To salesData.Rows.Count - 1
    For col As Integer = 0 To salesData.Columns.Count - 1
        reportSheet.SetCellValue(row + headerRow, col, salesData.Rows(row)(col))
    Next
    ' Add total column with formula
    reportSheet($"G{row + headerRow + 1}").Formula = $"=D{row + headerRow + 1}*E{row + headerRow + 1}"
Next

' Add total header and format
reportSheet("G3").Value = "Total"
reportSheet("G3").Style.Font.Bold = True
reportSheet("G3").Style.SetBackgroundColor("#D9E1F2")

' Format currency columns
reportSheet($"E{headerRow + 1}:E{headerRow + salesData.Rows.Count}").FormatString = "$#,##0.00"
reportSheet($"G{headerRow + 1}:G{headerRow + salesData.Rows.Count}").FormatString = "$#,##0.00"

' Format date column
reportSheet($"F{headerRow + 1}:F{headerRow + salesData.Rows.Count}").FormatString = "MM/dd/yyyy"

' Add summary section
Dim summaryRow As Integer = headerRow + salesData.Rows.Count + 2
reportSheet($"A{summaryRow}").Value = "Summary"
reportSheet($"A{summaryRow}").Style.Font.Bold = True
reportSheet($"A{summaryRow + 1}").Value = "Total Orders:"
reportSheet($"B{summaryRow + 1}").Formula = $"=COUNTA(A{headerRow + 1}:A{headerRow + salesData.Rows.Count})"
reportSheet($"A{summaryRow + 2}").Value = "Total Revenue:"
reportSheet($"B{summaryRow + 2}").Formula = $"=SUM(G{headerRow + 1}:G{headerRow + salesData.Rows.Count})"
reportSheet($"B{summaryRow + 2}").FormatString = "$#,##0.00"

' Auto-fit columns
For col As Integer = 0 To 6
    reportSheet.AutoSizeColumn(col)
Next

' Evaluate formulas and save
reportWorkbook.EvaluateAll()
reportWorkbook.SaveAs("DatabaseExport.xlsx")
$vbLabelText   $csharpLabel

Buyuk Veritabani İhracatları Nasıl Optimize Edilir?

Bu kapsamli örnek, C# icinde Excel dosyaları oluşturmak için tam bir veritabanı-Excel is akisini gösterir. DataTable veritabanı alımını simüle eder - üretimde bunu Entity Framework, Dapper veya ADO.NET kullanarak gerçek veritabanı sorgularınızla değiştirin. Dogrudan SQL entegrasyonu icin, SQL veritabanlarından Excel yükleme veya Excel'den veritabanı kayıtlarını güncelleme kılavuzunu inceleyin.

Büyük veri tabanı ihracatları icin, düsünün:

  • Toplu işleme: Bellek yonetimi için parça parça ihrac etmek
  • Async işlemleri: Ihrac süresince arayüzu yanıt verir tutmak
  • İlerleme raporları: Kullanıcılara ihrac ilerlemesini göstermek
  • Hata yonetimi: Veritabani zaman asımını zarifçe ele alın

Kod, baslik, biçimlendirilmis baslıklar ve veri satirları ile profesyonel bir rapor oluşturur. Formülsütunları, satır toplamlarını dinamik bir şekilde hesaplar. Ötetleme kismi, siparişleri saymak ve geliri toplamak icin Excel formüllerini kullanır, bunlar eğer veri degişirse değerleri otomatik olarak günceller. DataSets yerine DataTables ile çalışmak için veri seti veri tablosu dışa aktarma kılavuzuna bakın.

Çıktı

Professional sales report Excel file with order data, calculated totals, formatted currency, dates, and summary statistics showing 5 orders worth $7,377.20

Veritabanı verilerinden üretilen profesyonel satış raporu, otomatik hesaplamalar ve biçimlendirme ile.

Excel raporlamanizi hizlandirmaniz mi gerekiyor? IronXL'nin uretim kurulumlari icin tam potansiyelini acmak icin bir lisans alin.

Coklu Calisma Sayfalari Nasıl Yonetirim?

Çok Sayfalı Calisma Kitaplarini Ne Zaman Kullanmalıyım?

Karmaşık Excel dosyaları, ilgili verileri düzenlemek için genellikle birden çok calisma sayfasi gerektirir. IronXL, calisma sayfalarini oluşturmak, erişmek ve düzenlemek icin sezgisel yöntemlerle çok sayfalı yönetimi basitlestirir. Calisma sayfalarını yonetme ve çalışma sayfası verilerini kopyalama konularında ileri senaryolar için daha fazla bilgi edinin.

// Create a multi-sheet workbook
WorkBook companyReport = WorkBook.Create();
// Create department sheets
WorkSheet salesSheet = companyReport.CreateWorkSheet("Sales");
WorkSheet inventorySheet = companyReport.CreateWorkSheet("Inventory");
WorkSheet hrSheet = companyReport.CreateWorkSheet("HR Metrics");
// Populate Sales sheet
salesSheet["A1"].Value = "Sales Dashboard";
salesSheet["A3"].Value = "Region";
salesSheet["B3"].Value = "Q1 Sales";
salesSheet["C3"].Value = "Q2 Sales";
string[] regions = { "North", "South", "East", "West" };
decimal[] q1Sales = { 250000, 180000, 220000, 195000 };
decimal[] q2Sales = { 275000, 195000, 240000, 210000 };
for (int i = 0; i < regions.Length; i++)
{
    salesSheet[$"A{i + 4}"].Value = regions[i];
    salesSheet[$"B{i + 4}"].Value = q1Sales[i];
    salesSheet[$"C{i + 4}"].Value = q2Sales[i];
}
// Populate Inventory sheet
inventorySheet["A1"].Value = "Inventory Status";
inventorySheet["A3"].Value = "Product";
inventorySheet["B3"].Value = "Stock Level";
inventorySheet["C3"].Value = "Reorder Point";
inventorySheet["D3"].Value = "Status";
// Add inventory data with conditional status
string[] products = { "Widget A", "Widget B", "Widget C" };
int[] stock = { 150, 45, 200 };
int[] reorderPoint = { 100, 50, 75 };
for (int i = 0; i < products.Length; i++)
{
    inventorySheet[$"A{i + 4}"].Value = products[i];
    inventorySheet[$"B{i + 4}"].Value = stock[i];
    inventorySheet[$"C{i + 4}"].Value = reorderPoint[i];
    // Status based on stock level
    string status = stock[i] <= reorderPoint[i] ? "REORDER" : "OK";
    inventorySheet[$"D{i + 4}"].Value = status;
    // Color code status
    if (status == "REORDER")
    {
        inventorySheet[$"D{i + 4}"].Style.Font.Color = "#FF0000";
    }
}
// Create summary sheet referencing other sheets
WorkSheet summarySheet = companyReport.CreateWorkSheet("Summary");
summarySheet["A1"].Value = "Company Overview";
summarySheet["A3"].Value = "Metric";
summarySheet["B3"].Value = "Value";
summarySheet["A4"].Value = "Total Q1 Sales";
summarySheet["B4"].Formula = "=SUM(Sales!B4:B7)";
summarySheet["A5"].Value = "Total Q2 Sales";
summarySheet["B5"].Formula = "=SUM(Sales!C4:C7)";
summarySheet["A6"].Value = "Products Need Reorder";
summarySheet["B6"].Formula = "=COUNTIF(Inventory!D4:D6,\"REORDER\")";
// Format all sheets consistently
foreach (WorkSheet sheet in companyReport.WorkSheets)
{
    // Format headers
    sheet["A1"].Style.Font.Bold = true;
    sheet["A1"].Style.Font.Height = 14;
    var headerRow = sheet["A3:D3"];
    headerRow.Style.Font.Bold = true;
    headerRow.Style.SetBackgroundColor("#E7E6E6");
}
// Save multi-sheet workbook
companyReport.SaveAs("CompanyReport.xlsx");
// Create a multi-sheet workbook
WorkBook companyReport = WorkBook.Create();
// Create department sheets
WorkSheet salesSheet = companyReport.CreateWorkSheet("Sales");
WorkSheet inventorySheet = companyReport.CreateWorkSheet("Inventory");
WorkSheet hrSheet = companyReport.CreateWorkSheet("HR Metrics");
// Populate Sales sheet
salesSheet["A1"].Value = "Sales Dashboard";
salesSheet["A3"].Value = "Region";
salesSheet["B3"].Value = "Q1 Sales";
salesSheet["C3"].Value = "Q2 Sales";
string[] regions = { "North", "South", "East", "West" };
decimal[] q1Sales = { 250000, 180000, 220000, 195000 };
decimal[] q2Sales = { 275000, 195000, 240000, 210000 };
for (int i = 0; i < regions.Length; i++)
{
    salesSheet[$"A{i + 4}"].Value = regions[i];
    salesSheet[$"B{i + 4}"].Value = q1Sales[i];
    salesSheet[$"C{i + 4}"].Value = q2Sales[i];
}
// Populate Inventory sheet
inventorySheet["A1"].Value = "Inventory Status";
inventorySheet["A3"].Value = "Product";
inventorySheet["B3"].Value = "Stock Level";
inventorySheet["C3"].Value = "Reorder Point";
inventorySheet["D3"].Value = "Status";
// Add inventory data with conditional status
string[] products = { "Widget A", "Widget B", "Widget C" };
int[] stock = { 150, 45, 200 };
int[] reorderPoint = { 100, 50, 75 };
for (int i = 0; i < products.Length; i++)
{
    inventorySheet[$"A{i + 4}"].Value = products[i];
    inventorySheet[$"B{i + 4}"].Value = stock[i];
    inventorySheet[$"C{i + 4}"].Value = reorderPoint[i];
    // Status based on stock level
    string status = stock[i] <= reorderPoint[i] ? "REORDER" : "OK";
    inventorySheet[$"D{i + 4}"].Value = status;
    // Color code status
    if (status == "REORDER")
    {
        inventorySheet[$"D{i + 4}"].Style.Font.Color = "#FF0000";
    }
}
// Create summary sheet referencing other sheets
WorkSheet summarySheet = companyReport.CreateWorkSheet("Summary");
summarySheet["A1"].Value = "Company Overview";
summarySheet["A3"].Value = "Metric";
summarySheet["B3"].Value = "Value";
summarySheet["A4"].Value = "Total Q1 Sales";
summarySheet["B4"].Formula = "=SUM(Sales!B4:B7)";
summarySheet["A5"].Value = "Total Q2 Sales";
summarySheet["B5"].Formula = "=SUM(Sales!C4:C7)";
summarySheet["A6"].Value = "Products Need Reorder";
summarySheet["B6"].Formula = "=COUNTIF(Inventory!D4:D6,\"REORDER\")";
// Format all sheets consistently
foreach (WorkSheet sheet in companyReport.WorkSheets)
{
    // Format headers
    sheet["A1"].Style.Font.Bold = true;
    sheet["A1"].Style.Font.Height = 14;
    var headerRow = sheet["A3:D3"];
    headerRow.Style.Font.Bold = true;
    headerRow.Style.SetBackgroundColor("#E7E6E6");
}
// Save multi-sheet workbook
companyReport.SaveAs("CompanyReport.xlsx");
Imports System

' Create a multi-sheet workbook
Dim companyReport As WorkBook = WorkBook.Create()
' Create department sheets
Dim salesSheet As WorkSheet = companyReport.CreateWorkSheet("Sales")
Dim inventorySheet As WorkSheet = companyReport.CreateWorkSheet("Inventory")
Dim hrSheet As WorkSheet = companyReport.CreateWorkSheet("HR Metrics")
' Populate Sales sheet
salesSheet("A1").Value = "Sales Dashboard"
salesSheet("A3").Value = "Region"
salesSheet("B3").Value = "Q1 Sales"
salesSheet("C3").Value = "Q2 Sales"
Dim regions As String() = {"North", "South", "East", "West"}
Dim q1Sales As Decimal() = {250000D, 180000D, 220000D, 195000D}
Dim q2Sales As Decimal() = {275000D, 195000D, 240000D, 210000D}
For i As Integer = 0 To regions.Length - 1
    salesSheet($"A{i + 4}").Value = regions(i)
    salesSheet($"B{i + 4}").Value = q1Sales(i)
    salesSheet($"C{i + 4}").Value = q2Sales(i)
Next
' Populate Inventory sheet
inventorySheet("A1").Value = "Inventory Status"
inventorySheet("A3").Value = "Product"
inventorySheet("B3").Value = "Stock Level"
inventorySheet("C3").Value = "Reorder Point"
inventorySheet("D3").Value = "Status"
' Add inventory data with conditional status
Dim products As String() = {"Widget A", "Widget B", "Widget C"}
Dim stock As Integer() = {150, 45, 200}
Dim reorderPoint As Integer() = {100, 50, 75}
For i As Integer = 0 To products.Length - 1
    inventorySheet($"A{i + 4}").Value = products(i)
    inventorySheet($"B{i + 4}").Value = stock(i)
    inventorySheet($"C{i + 4}").Value = reorderPoint(i)
    ' Status based on stock level
    Dim status As String = If(stock(i) <= reorderPoint(i), "REORDER", "OK")
    inventorySheet($"D{i + 4}").Value = status
    ' Color code status
    If status = "REORDER" Then
        inventorySheet($"D{i + 4}").Style.Font.Color = "#FF0000"
    End If
Next
' Create summary sheet referencing other sheets
Dim summarySheet As WorkSheet = companyReport.CreateWorkSheet("Summary")
summarySheet("A1").Value = "Company Overview"
summarySheet("A3").Value = "Metric"
summarySheet("B3").Value = "Value"
summarySheet("A4").Value = "Total Q1 Sales"
summarySheet("B4").Formula = "=SUM(Sales!B4:B7)"
summarySheet("A5").Value = "Total Q2 Sales"
summarySheet("B5").Formula = "=SUM(Sales!C4:C7)"
summarySheet("A6").Value = "Products Need Reorder"
summarySheet("B6").Formula = "=COUNTIF(Inventory!D4:D6,""REORDER"")"
' Format all sheets consistently
For Each sheet As WorkSheet In companyReport.WorkSheets
    ' Format headers
    sheet("A1").Style.Font.Bold = True
    sheet("A1").Style.Font.Height = 14
    Dim headerRow = sheet("A3:D3")
    headerRow.Style.Font.Bold = True
    headerRow.Style.SetBackgroundColor("#E7E6E6")
Next
' Save multi-sheet workbook
companyReport.SaveAs("CompanyReport.xlsx")
$vbLabelText   $csharpLabel

Verileri Birden Çok Sayfa Arasinda Nasıl Referans Veririm?

Bu örnek, eksiksiz bir çok sayfalı rapor oluşturur. Her bir calisma sayfasi belirli bir amacı yerine getirir: satış verileri, envanter takibi ve IK metrikleri. Ozet sayfa, önemli metrikleri sayfalar arası formüllerle birleştirir. Formüllerdeki sayfa referans sözdizimine dikkat edin - "Sales!B4:B7", B4 ile B7 arasındaki hücrelere Satış sayfasında atıfta bulunur. Daha karmaşık işlemler için Excel aralıklarını birleştirme ve satırları ve sütunları gruplama konularını keşfedin.

Envanter sayfası, düşük stoklu ürünleri kırmızı renkle göstererek koşullu mantığı sergiler. Foreach döngüsü, tüm sayfalara tutarlı bir biçim uygular, kitap boyunca profesyonel bir görünümü korur. Sayfa adları Excel'de sekmeler olarak görünür, kullanıcılara farklı veri görünümleri arasında kolayca gezinme imkanı tanır. İleri düzey senaryolar için, büyük veri kümeleri arasında ilerlerken başlıkları görünür tutmak amacıyla panelleri sabitleyi eklemeyi düşünün.

Excel Oluşturma Icin En Iyi Uygulamalar Nelerdir?

Üretimde Ölçeklenebilir Excel Oluşturmayı Nasıl Sağlarım?

C#'ta verimli Excel dosyası oluşturma, bellek kullanımı, hata yönetimi ve dağıtım konularına düşünceli bir yaklaşımla gerçekleştirilir. Bu uygulamalar, Excel hesap tablolarını programlı bir şekilde oluştururken uygulamalarınızın ölçeklenebilirliğini ve güvenilirliğini korur. Güvenlik en iyi uygulamalarını inceleyin ve kurumsal kurulumlar için dosya koruma seçeneklerini gözden geçirin.

Büyük dosyalarla çalışırken bellek yönetimi kritik hale gelir. Tüm veri kümelerini belleğe yüklemek yerine, verileri parça parça işleyin:

// Process large datasets efficiently
public void ExportLargeDataset(string filename)
{
    WorkBook workbook = WorkBook.Create();
    WorkSheet sheet = workbook.CreateWorkSheet("Data");
    int rowsPerBatch = 1000;
    int currentRow = 1;
    // Process in batches
    foreach (var batch in GetDataInBatches(rowsPerBatch))
    {
        foreach (var record in batch)
        {
            sheet[$"A{currentRow}"].Value = record.Id;
            sheet[$"B{currentRow}"].Value = record.Name;
            sheet[$"C{currentRow}"].Value = record.Value;
            currentRow++;
        }
    }
    workbook.SaveAs(filename);
}
// Process large datasets efficiently
public void ExportLargeDataset(string filename)
{
    WorkBook workbook = WorkBook.Create();
    WorkSheet sheet = workbook.CreateWorkSheet("Data");
    int rowsPerBatch = 1000;
    int currentRow = 1;
    // Process in batches
    foreach (var batch in GetDataInBatches(rowsPerBatch))
    {
        foreach (var record in batch)
        {
            sheet[$"A{currentRow}"].Value = record.Id;
            sheet[$"B{currentRow}"].Value = record.Name;
            sheet[$"C{currentRow}"].Value = record.Value;
            currentRow++;
        }
    }
    workbook.SaveAs(filename);
}
' Process large datasets efficiently
Public Sub ExportLargeDataset(filename As String)
    Dim workbook As WorkBook = WorkBook.Create()
    Dim sheet As WorkSheet = workbook.CreateWorkSheet("Data")
    Dim rowsPerBatch As Integer = 1000
    Dim currentRow As Integer = 1
    ' Process in batches
    For Each batch In GetDataInBatches(rowsPerBatch)
        For Each record In batch
            sheet($"A{currentRow}").Value = record.Id
            sheet($"B{currentRow}").Value = record.Name
            sheet($"C{currentRow}").Value = record.Value
            currentRow += 1
        Next
    Next
    workbook.SaveAs(filename)
End Sub
$vbLabelText   $csharpLabel

DevOps Takımları İçin Yaygın Sorunlar Nelerdir?

Sorun Cozum Onleme
Bellek Dışında Gruplar halinde işleyin Grup boyutlarını izleyin
Dosya Kilitleri Dosyalar yerine akışları kullanın Doğru şekilde atmayı uygulayın
Lisans Hataları Kodda lisansı doğrulayın Lisansı doğru şekilde uygulayın
Performans Asenkron işlemleri etkinleştir Tıkanma noktalarını profil oluşturun
Kapsayıcı Sorunları Bağımlılıkları yükleyin Docker'ı yerel olarak test edin

Hata yönetimi, uygulama çökmelerini önler ve Excel dosyaları oluştururken anlamlı geri bildirim sağlar:

try
{
    WorkBook workbook = WorkBook.Create();
    // Excel generation code
    workbook.SaveAs("output.xlsx");
}
catch (Exception ex)
{
    // Log the error
    Console.WriteLine($"Excel generation failed: {ex.Message}");
    // Implement appropriate recovery or notification
}
try
{
    WorkBook workbook = WorkBook.Create();
    // Excel generation code
    workbook.SaveAs("output.xlsx");
}
catch (Exception ex)
{
    // Log the error
    Console.WriteLine($"Excel generation failed: {ex.Message}");
    // Implement appropriate recovery or notification
}
Imports System

Try
    Dim workbook As WorkBook = WorkBook.Create()
    ' Excel generation code
    workbook.SaveAs("output.xlsx")
Catch ex As Exception
    ' Log the error
    Console.WriteLine($"Excel generation failed: {ex.Message}")
    ' Implement appropriate recovery or notification
End Try
$vbLabelText   $csharpLabel

Web uygulamaları için, Excel dosyalarını bellekte oluşturun ve kullanıcılara aktarin. Bu yaklaşım ASP.NET MVC uygulamaları ile mükemmel bir şekilde çalışır:

// ASP.NET Core example
public IActionResult DownloadExcel()
{
    WorkBook workbook = GenerateReport();
    var stream = new MemoryStream();
    workbook.SaveAs(stream);
    stream.Position = 0;
    return File(stream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "report.xlsx");
}
// ASP.NET Core example
public IActionResult DownloadExcel()
{
    WorkBook workbook = GenerateReport();
    var stream = new MemoryStream();
    workbook.SaveAs(stream);
    stream.Position = 0;
    return File(stream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "report.xlsx");
}
Imports System.IO
Imports Microsoft.AspNetCore.Mvc

Public Function DownloadExcel() As IActionResult
    Dim workbook As WorkBook = GenerateReport()
    Dim stream As New MemoryStream()
    workbook.SaveAs(stream)
    stream.Position = 0
    Return File(stream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "report.xlsx")
End Function
$vbLabelText   $csharpLabel

IronXL'yi Kapsayıcı Dağıtımları için Nasıl Yapılandırırım?

Dağıtım dikkate almaları sorunsuz üretim işlemlerini sağlar. IronXL, artırılmış izinler olmadan kısıtlı ortamlarda çalışır, bu da onu paylaşılan barındırma ve kapsayıcılaştırılmış dağıtımlar için uygun kılar. Dağıtım paketinizeIronXLlisans dosyasını dâhil edin ve gerekirse geçici dosya işlemleri için uygulamanızın yazma izinlerine sahip olduğundan emin olun. Doğru lisans yapılandırması için lisans anahtarlarını kullanma ve web.config kurulumu konularına bakın.

Docker dağıtımları için:

FROM mcr.microsoft.com/dotnet/runtime:8.0
WORKDIR /app
COPY . .
# Bağımlılıkları yükleyin for Excel operations
RUN apt-get update && apt-get install -y libgdiplus
ENV IRONXL_LICENSE_KEY=${IRONXL_LICENSE_KEY}
ENTRYPOINT ["dotnet", "YourApp.dll"]

Hassas verilerle çalışırken, çalışma kitaplarını parola ile korumayı ve çalışma sayfalarını güvenlik altına almayı düşünün. IronXL, Excel dosyalarınızı yetkisiz erişimden korumak için kapsamlı güvenlik özellikleri sunar. Büyük dosyalarda optimal performans için dosya boyutunu etkili bir şekilde yönetmek amacıyla veri kırpma ve hücre temizleme stratejilerini uygulayın.

Linux kurulumları için, doğru yapılandırmayı sağlamak için Linux kurulum kılavuzunu takip edin. AWS Lambda'ya dağıtım yapılırken, sunucusuz özel yapılandırmalar için AWS dağıtım kılavuzuna başvurun.

Bu Kılavuzdan Sonraki Adımlar Nelerdir?

IronXL, C#'ta Excel dosyası oluşturmayı karmaşık bir meydan okumadan, sade bir kodlama haline dönüştürür. Calisma kitaplari oluşturmayı, hücreleri doldurmayı, biçimlendirme uygulamayı, formüller kullanmayı ve veritabanı verilerini dışa aktarmayı öğrendiniz - bunların hepsi Microsoft Office bağımlılıkları olmadan. Excel dosyaları oluşturmak için bu teknikler, Windows, Linux ve bulut platformlarında tutarlı bir şekilde çalışır.

İleri düzey özellikler için şunları keşfedin:

Excel oluşturmayı C# uygulamalarınızda uygulamaya hazır mısınız? Ücretsiz denemenizi başlatın veya ileri özellikler için kapsamlı API belgelerini keşfedin. Üretim kurulumları için, proje gereksinimlerinize uygun lisans seçeneklerini inceleyin. İhtiyaçlarınız arttıkça, lisans uzantılarını ve yükseltme yollarını keşfetmeyi düşünün.

IronXL pricing tiers showing Lite ($749), Plus ($999), Professional ($1,999), and Unlimited ($3,999) licenses with different developer, location, and project limits

Gelişimden kurumsal kurulumlara kadar Excel oluşturma ihtiyaçlarınıza uygun esnek lisanslama seçenekleri.

Sıkça Sorulan Sorular

IronXL nedir?

IronXL, geliştiricilerin C#'ta Excel dosyaları oluşturmasını, okumasını ve düzenlemesini sağlayan bir kütüphanedir ve bu sayede Microsoft Office veya karmaşık COM Interop gerekmez.

C# kullanarak Excel dosyaları nasıl oluşturabilirim?

IronXL, Excel dosyalarını oluşturmak, formatlamak ve programlanabilir bir şekilde manipüle etmek için basit bir API sunarak C#'ta Excel dosyaları oluşturmanıza olanak tanır.

IronXL'yi kullanmak için Microsoft Office kurulu olmalı mı?

Hayır, IronXL sisteminize Microsoft Office kurulması gerekmez, bu da Excel dosyalarını oluşturmak ve düzenlemek için hafif bir çözüm sunar.

IronXL ileri düzey Excel formatlamasını ele alabilir mi?

Evet, IronXL ileri düzey formatlama seçeneklerini destekleyerek elektronik tablolarınıza stiller, formatlar ve diğer Excel özellikleri uygulamanıza olanak tanır.

IronXL kullarak Excel dosyalarıyla veritabanlarını entegre etmek mümkün mü?

Evet, IronXL Excel dosyalarınızı veritabanlarıyla entegre etmenize olanak tanır, bu da veri ihracatı ve doğrudan C# uygulamalarından raporlama gibi görevleri kolaylaştırır.

IronXL hangi dosya formatlarıyla çalışabilir?

IronXL hem XLS hem de XLSX dosya formatlarıyla çalışabilir, bu da Excel dosyalarını ele almada esneklik sağlar.

IronXL ile elektronik tablo oluşturmayı otomatikleştirebilir miyim?

Evet, IronXL elektronik tabloların oluşturulmasını otomatikleştirmenizi sağlar, bu da rapor oluşturma ve veri aktarma gibi görevler için idealdir.

IronXL .NET uygulamalarını destekliyor mu?

IronXL, .NET uygulamalarıyla tamamen uyumludur ve C# projelerinizde kesintisiz entegrasyon ve işlevsellik sağlar.

IronXL için bazı yaygın kullanım örnekleri nelerdir?

IronXL'nin yaygın kullanım örnekleri, rapor oluşturma, veri aktarma, elektronik tablo görevlerini otomatikleştirme ve Excel işlevselliklerini .NET uygulamalarına entegre etmeyi içerir.

IronXL, C#'ta Excel dosya oluşturmayı nasıl basit hale getiriyor?

IronXL, karmaşık kurulum ve bağımlılıklar gerekmeden bir basit ve sezgisel API sunarak Excel dosyası oluşturma sürecini kolaylaştırır, böylece geliştirme süreci düzene sokulur.

Jordi Bardia
Yazılım Mühendisi
Jordi Python, C# ve C++ konularında en yetkin, Iron Software'deki yeteneklerini kullanmadığı zamanlarda; oyun programlıyor. Ürün testi, ürün geliştirme ve araştırma sorumluluklarını paylaşan Jordi, sürekli ürün gelişimine büyük değer katıyor. Çeşitli deneyimleri onu ...
Daha Fazlasını Oku

Iron Destek Ekibi

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