ASP.NET Excel'e Dışa Aktarma: IronXL vs ClosedXML vs EPPlus Karşılaştırması
Excel'e veri aktarmak, ASP.NET Core web uygulamalarında standart bir gerekliliktir. Satış raporları oluşturuyor, kullanıcılara GridView içeriklerini indirme olanağı sunuyor veya veritabanı sorgularından CSV dosyaları üretiyor olun, seçtiğiniz yaklaşım, sonuç dosyasının Microsoft Excel'de temiz açılıp açılmayacağını veya format uyarılarını tetikleyip tetiklemeyeceğini belirler. Bu makale, C# geliştiricileri için mevcut en yaygın Excel dışa aktarma yöntemlerini karşılaştırır: geleneksel HTML tabanlı akış ve IronXL, ClosedXML ve EPPlus gibi modern kütüphane çözümleri - böylece projeniz için doğru aracı seçebilirsiniz.
Ücretsiz denemenizi başlatın ve IronXL'nin ASP.NET Core uygulamalarında Excel dosyası oluşturmayı nasıl ele aldığını görün.
ASP.NET Core'da Veriyi Excel'e Aktarmanın Yaygın Yöntemleri Nelerdir?
ASP.NET Core geliştiricilerinin Excel dışa aktarma fonksiyonu eklerken birden fazla yolu vardır. Her yaklaşım, çıktı dosyasının kalitesinde, bunu uygulamak için gereken çabada ve ticari projeler için izin şekillerinde farklılık gösterir.
Geleneksel MIME türü akışı en eski tekniktir. Sunucu, yanıtın Content-Type başlığını application/vnd.ms-excel olarak ayarlar ve bir HTML tablosunu çıktı akışına yazar. Tarayıcı bunu Excel indirmesi olarak yorumlar, ancak dosya gerçek hesap tablosu verileri yerine HTML işaretleme dosyasını içerir. Microsoft Excel, uyumsuzluğu fark eder ve dosyayı açmadan önce bir format uyarısı gösterir. Bu yöntem formülleri, tipli sütunları veya uygun hücre formatlamaları destekleyemez.
Kütüphane tabanlı çözümler, Microsoft tarafından tanımlanan Open XML formatını kullanarak gerçek XLSX dosyaları oluşturan bir NuGet paketi ekler. Seçenekler arasında IronXL, ClosedXML ve EPPlus bulunmaktadır. Üçü de uyarı vermeden açılan geçerli Excel dosyaları üretir, hücre düzeyinde formatlama destekler ve .NET Core ile çalışırlar. Bu yaklaşımların tümü tarafından kullanılan ASP.NET Core mekanizmalarının altında yatan resmi .NET dökümantasyonu kapsanmıştır.
Aşağıdaki tablo, temel farkları özetlemektedir:
| Özellik | MIME Türü / HTML | ClosedXML | EPPlus | IronXL |
|---|---|---|---|---|
| Gerçek XLSX çıktısı | Hayır | Evet | Evet | Evet |
| CSV dosya desteği | Elle | Sınırlı | Sınırlı | Yerel |
| Excel uyarısı olmadan açılır | Hayır | Evet | Evet | Evet |
| Formül desteği | Hayır | Evet | Evet | Evet |
| JSON ve XML dışa aktarma | Hayır | Hayır | Hayır | Evet |
| Ticari lisans | Uygulanamaz | MIT | Polyform | Ticari |
| .NET Core desteği | Evet | Evet | Evet | Evet |
IronXL'i Bir ASP.NET Core Projesinde Nasıl Kurarsınız?
Herhangi bir dışa aktarma kodu yazmadan önce, IronXL'i projenize NuGet Paket Yöneticisi veya .NET CLI aracılığıyla ekleyin. IronXL, Microsoft Office veya COM interop'a bağımlı değildir, bu nedenle .NET tarafından desteklenen herhangi bir işletim sisteminde kurulum basittir.
dotnet add package IronXL.Excel
Alternatif olarak, Visual Studio'daki Paket Yöneticisi Konsolunu kullanın:
Install-Package IronXL.Excel
Paket yüklendikten sonra, Excel dosyaları oluşturması gereken herhangi bir kontrolcüye veya hizmet sınıfına using IronXL; ekleyin. Temel dışa aktarma senaryoları için ek bir yapılandırma gerekmemektedir. Lisanslama ve dağıtım seçenekleri için IronXL lisans sayfasını ziyaret edin.
Geleneksel GridView Dışa Aktarma Yaklaşımı Nasıl Çalışır?
Eski WebForms ve bazı eski MVC modellerinde, geliştiriciler GridView verilerini HTML olarak render ederek ve yanıltıcı bir İçerik Türü başlığı ile tarayıcıya akıtarak dışa aktardılar. Uygulama, dosya adını ayarlamak için Response.AddHeader çağırır ve HTML çıktısını doğrudan yazar.
// Traditional approach -- exports HTML disguised as Excel
public void ExportToExcel(object sender, EventArgs e)
{
Response.Clear();
Response.Buffer = true;
Response.ContentType = "application/vnd.ms-excel";
Response.AddHeader("content-disposition", "attachment;filename=Report.xls");
StringWriter stringWriter = new StringWriter();
HtmlTextWriter htmlTextWriter = new HtmlTextWriter(stringWriter);
// Render grid content as HTML
DataGrid1.RenderControl(htmlTextWriter);
Response.Write(stringWriter.ToString());
Response.End();
}
public override void VerifyRenderingInServerForm(Control control)
{
// Required to prevent server form rendering errors
}
// Traditional approach -- exports HTML disguised as Excel
public void ExportToExcel(object sender, EventArgs e)
{
Response.Clear();
Response.Buffer = true;
Response.ContentType = "application/vnd.ms-excel";
Response.AddHeader("content-disposition", "attachment;filename=Report.xls");
StringWriter stringWriter = new StringWriter();
HtmlTextWriter htmlTextWriter = new HtmlTextWriter(stringWriter);
// Render grid content as HTML
DataGrid1.RenderControl(htmlTextWriter);
Response.Write(stringWriter.ToString());
Response.End();
}
public override void VerifyRenderingInServerForm(Control control)
{
// Required to prevent server form rendering errors
}
' Traditional approach -- exports HTML disguised as Excel
Public Sub ExportToExcel(sender As Object, e As EventArgs)
Response.Clear()
Response.Buffer = True
Response.ContentType = "application/vnd.ms-excel"
Response.AddHeader("content-disposition", "attachment;filename=Report.xls")
Dim stringWriter As New StringWriter()
Dim htmlTextWriter As New HtmlTextWriter(stringWriter)
' Render grid content as HTML
DataGrid1.RenderControl(htmlTextWriter)
Response.Write(stringWriter.ToString())
Response.End()
End Sub
Public Overrides Sub VerifyRenderingInServerForm(control As Control)
' Required to prevent server form rendering errors
End Sub
Eski Çıktı

Bu yöntem, sunucu tarafı doğrulamasını atlamak için VerifyRenderingInServerForm'i geçersiz kılmayı gerektirir. Oluşturulan dosya, gerçek hesap tablosu verileri yerine HTML içerir, bu nedenle kullanıcı açtığında Microsoft Excel bir format uyarısı görüntüler. Çıktı, çalışma sayfası formüllerini, tipli veri sütunlarını veya hücre düzeyinde formatlamayı destekleyemez. Yeni ASP.NET Core geliştirmelerinde, bu desenin yerine uygun bir Excel kütüphanesi tercih edilmelidir.
IronXL, ASP.NET Core'da Excel Dosyası Oluşturmayı Nasıl Basitleştirir?
IronXL, Microsoft Office veya COM interop gerektirmeyen gerçek XLSX dosyaları oluşturmak için bir API sağlar. Kütüphane, çalışma kitabı nesnelerini tamamen yönetilen kodda oluşturur, böylece ilave bağımlılıklar olmadan Linux, macOS ve Windows üzerinde çalışır.
Aşağıdaki örnek, bir çalışma kitabı oluşturur, bir çalışma sayfasını satış verileriyle doldurur, başlık satırına kalın formatlama uygular ve dosyayı tarayıcıya aktarır:
using IronXL;
using Microsoft.AspNetCore.Mvc;
public class ExportController : Controller
{
[HttpPost]
public IActionResult ExportReport()
{
// Create workbook and worksheet
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet worksheet = workbook.CreateWorkSheet("Sales Data");
// Add header row
worksheet["A1"].Value = "Product";
worksheet["B1"].Value = "Quantity";
worksheet["C1"].Value = "Revenue";
// Populate data rows
worksheet["A2"].Value = "Widget A";
worksheet["B2"].Value = 150;
worksheet["C2"].Value = 4500.00;
worksheet["A3"].Value = "Widget B";
worksheet["B3"].Value = 230;
worksheet["C3"].Value = 6900.00;
// Apply bold formatting to headers
var headerRange = worksheet["A1:C1"];
headerRange.Style.Font.Bold = true;
// Stream file to browser
byte[] fileBytes = workbook.ToByteArray();
string filename = $"SalesReport_{DateTime.Now:yyyyMMdd}.xlsx";
return File(fileBytes,
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
filename);
}
}
using IronXL;
using Microsoft.AspNetCore.Mvc;
public class ExportController : Controller
{
[HttpPost]
public IActionResult ExportReport()
{
// Create workbook and worksheet
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet worksheet = workbook.CreateWorkSheet("Sales Data");
// Add header row
worksheet["A1"].Value = "Product";
worksheet["B1"].Value = "Quantity";
worksheet["C1"].Value = "Revenue";
// Populate data rows
worksheet["A2"].Value = "Widget A";
worksheet["B2"].Value = 150;
worksheet["C2"].Value = 4500.00;
worksheet["A3"].Value = "Widget B";
worksheet["B3"].Value = 230;
worksheet["C3"].Value = 6900.00;
// Apply bold formatting to headers
var headerRange = worksheet["A1:C1"];
headerRange.Style.Font.Bold = true;
// Stream file to browser
byte[] fileBytes = workbook.ToByteArray();
string filename = $"SalesReport_{DateTime.Now:yyyyMMdd}.xlsx";
return File(fileBytes,
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
filename);
}
}
Imports IronXL
Imports Microsoft.AspNetCore.Mvc
Public Class ExportController
Inherits Controller
<HttpPost>
Public Function ExportReport() As IActionResult
' Create workbook and worksheet
Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
Dim worksheet As WorkSheet = workbook.CreateWorkSheet("Sales Data")
' Add header row
worksheet("A1").Value = "Product"
worksheet("B1").Value = "Quantity"
worksheet("C1").Value = "Revenue"
' Populate data rows
worksheet("A2").Value = "Widget A"
worksheet("B2").Value = 150
worksheet("C2").Value = 4500.0
worksheet("A3").Value = "Widget B"
worksheet("B3").Value = 230
worksheet("C3").Value = 6900.0
' Apply bold formatting to headers
Dim headerRange = worksheet("A1:C1")
headerRange.Style.Font.Bold = True
' Stream file to browser
Dim fileBytes As Byte() = workbook.ToByteArray()
Dim filename As String = $"SalesReport_{DateTime.Now:yyyyMMdd}.xlsx"
Return File(fileBytes, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", filename)
End Function
End Class
IronXL Çıktısı

WorkBook.Create bellekte yeni bir Excel belgesi oluşturur. CreateWorkSheet, kullanıcıların Excel penceresinin altında gördüğü adlandırılmış bir sekme ekler. Hücre değerleri, çoğu C# geliştiricisinin okunabilir ve sürdürülebilir bulduğu Excel tarzı aralık gösterimi ("A1", "B2") kullanılarak atanır.
ToByteArray() yöntemi, bitmiş iş kitabını byte dizisine dönüştürür, bu da ASP.NET Core File() yanıt yöntemiyle doğrudan kullanıcının tarayıcısına doğru MIME türü ve içerik eğilimi başlıklarıyla akıtılır. İndirilen dosya, Excel'de herhangi bir format uyarısı olmadan açılır.
IronXL ayrıca, SaveAsCsv yöntemi aracılığıyla CSV formatına dışa aktarmayı da destekler:
// Export as CSV instead of XLSX
workbook.SaveAsCsv("output.csv");
// Export as CSV instead of XLSX
workbook.SaveAsCsv("output.csv");
Çalışma sayfası verilerini JSON veya XML olarak dışa aktarmanız gerektiğinde, IronXL, ClosedXML veya EPPlus'da mevcut olmayan SaveAsJson ve SaveAsXml yöntemlerini sunar. Ek örüntüler için IronXL kod örnekleri ve API referansı sayfalarında bulabilirsiniz.
IronXL, DataTable ve Veritabanı Entegrasyonunu Nasıl Ele Alır?
Birçok ASP.NET Core uygulaması, veri aktarmadan önce SQL Server veya başka bir ilişkisel veritabanından veri getirir. IronXL, bir DataTable'i doğrudan bir çalışma sayfasına yüklemek için birinci sınıf destek sunar, satırları manuel olarak yinelemek gereksinimini ortadan kaldırır.
Aşağıdaki örnek, ADO.NET kullanarak bir veritabanını sorgular ve ortaya çıkan DataTable'dan bir Excel çalışma sayfası doldurur:
using IronXL;
using System.Data;
using System.Data.SqlClient;
using Microsoft.AspNetCore.Mvc;
public class ReportController : Controller
{
private readonly string _connectionString;
public ReportController(IConfiguration config)
{
_connectionString = config.GetConnectionString("DefaultConnection");
}
[HttpGet]
public IActionResult DownloadReport()
{
DataTable table = new DataTable();
using (SqlConnection connection = new SqlConnection(_connectionString))
{
string query = "SELECT OrderId, CustomerName, Total, OrderDate FROM Orders";
using SqlDataAdapter adapter = new SqlDataAdapter(query, connection);
adapter.Fill(table);
}
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet worksheet = workbook.CreateWorkSheet("Orders");
// Write column headers from DataTable schema
for (int col = 0; col < table.Columns.Count; col++)
{
worksheet[0, col].Value = table.Columns[col].ColumnName;
}
// Write data rows
for (int row = 0; row < table.Rows.Count; row++)
{
for (int col = 0; col < table.Columns.Count; col++)
{
worksheet[row + 1, col].Value = table.Rows[row][col].ToString();
}
}
byte[] fileBytes = workbook.ToByteArray();
return File(fileBytes,
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"Orders.xlsx");
}
}
using IronXL;
using System.Data;
using System.Data.SqlClient;
using Microsoft.AspNetCore.Mvc;
public class ReportController : Controller
{
private readonly string _connectionString;
public ReportController(IConfiguration config)
{
_connectionString = config.GetConnectionString("DefaultConnection");
}
[HttpGet]
public IActionResult DownloadReport()
{
DataTable table = new DataTable();
using (SqlConnection connection = new SqlConnection(_connectionString))
{
string query = "SELECT OrderId, CustomerName, Total, OrderDate FROM Orders";
using SqlDataAdapter adapter = new SqlDataAdapter(query, connection);
adapter.Fill(table);
}
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet worksheet = workbook.CreateWorkSheet("Orders");
// Write column headers from DataTable schema
for (int col = 0; col < table.Columns.Count; col++)
{
worksheet[0, col].Value = table.Columns[col].ColumnName;
}
// Write data rows
for (int row = 0; row < table.Rows.Count; row++)
{
for (int col = 0; col < table.Columns.Count; col++)
{
worksheet[row + 1, col].Value = table.Rows[row][col].ToString();
}
}
byte[] fileBytes = workbook.ToByteArray();
return File(fileBytes,
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"Orders.xlsx");
}
}
Imports IronXL
Imports System.Data
Imports System.Data.SqlClient
Imports Microsoft.AspNetCore.Mvc
Public Class ReportController
Inherits Controller
Private ReadOnly _connectionString As String
Public Sub New(config As IConfiguration)
_connectionString = config.GetConnectionString("DefaultConnection")
End Sub
<HttpGet>
Public Function DownloadReport() As IActionResult
Dim table As New DataTable()
Using connection As New SqlConnection(_connectionString)
Dim query As String = "SELECT OrderId, CustomerName, Total, OrderDate FROM Orders"
Using adapter As New SqlDataAdapter(query, connection)
adapter.Fill(table)
End Using
End Using
Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
Dim worksheet As WorkSheet = workbook.CreateWorkSheet("Orders")
' Write column headers from DataTable schema
For col As Integer = 0 To table.Columns.Count - 1
worksheet(0, col).Value = table.Columns(col).ColumnName
Next
' Write data rows
For row As Integer = 0 To table.Rows.Count - 1
For col As Integer = 0 To table.Columns.Count - 1
worksheet(row + 1, col).Value = table.Rows(row)(col).ToString()
Next
Next
Dim fileBytes As Byte() = workbook.ToByteArray()
Return File(fileBytes, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "Orders.xlsx")
End Function
End Class
Bu model, kontrolörün sade ve test edilebilir olmasını sağlar. Veritabanı sorgusu ve çalışma kitabının oluşturulması açıkça ayrıldığından, veri kaynağını değiştirmek veya özet veriler için ek çalışma sayfaları eklemek kolaylaştırılmıştır. Varolan Excel dosyalarının DataTable'e nasıl okunacağı konusunda rehberlik için, Excel dosyalarını okuma üzerine IronXL kılavuzu'na bakın.
ClosedXML ve EPPlus Nasıl Karşılaştırılır?
ClosedXML, Microsoft'un Open XML SDK'sını erişilebilir bir API ile sarar. NuGet üzerinden kurun:
Install-Package ClosedXML
Install-Package ClosedXML
Aşağıdaki örnek, tipik bir ClosedXML dışa aktarma eylemi gösteriyor:
using ClosedXML.Excel;
using Microsoft.AspNetCore.Mvc;
public class ExportController : Controller
{
[HttpGet]
public IActionResult ExportWithClosedXML()
{
using var workbook = new XLWorkbook();
var worksheet = workbook.AddWorksheet("Data");
worksheet.Cell(1, 1).Value = "Name";
worksheet.Cell(1, 2).Value = "Amount";
worksheet.Cell(2, 1).Value = "Alpha";
worksheet.Cell(2, 2).Value = 1200;
using var stream = new MemoryStream();
workbook.SaveAs(stream);
return File(stream.ToArray(),
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"export.xlsx");
}
}
using ClosedXML.Excel;
using Microsoft.AspNetCore.Mvc;
public class ExportController : Controller
{
[HttpGet]
public IActionResult ExportWithClosedXML()
{
using var workbook = new XLWorkbook();
var worksheet = workbook.AddWorksheet("Data");
worksheet.Cell(1, 1).Value = "Name";
worksheet.Cell(1, 2).Value = "Amount";
worksheet.Cell(2, 1).Value = "Alpha";
worksheet.Cell(2, 2).Value = 1200;
using var stream = new MemoryStream();
workbook.SaveAs(stream);
return File(stream.ToArray(),
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"export.xlsx");
}
}
Imports ClosedXML.Excel
Imports Microsoft.AspNetCore.Mvc
Imports System.IO
Public Class ExportController
Inherits Controller
<HttpGet>
Public Function ExportWithClosedXML() As IActionResult
Using workbook As New XLWorkbook()
Dim worksheet = workbook.AddWorksheet("Data")
worksheet.Cell(1, 1).Value = "Name"
worksheet.Cell(1, 2).Value = "Amount"
worksheet.Cell(2, 1).Value = "Alpha"
worksheet.Cell(2, 2).Value = 1200
Using stream As New MemoryStream()
workbook.SaveAs(stream)
Return File(stream.ToArray(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "export.xlsx")
End Using
End Using
End Function
End Class
ClosedXML Çıktısı

ClosedXML, IronXL tarafından kullanılan aralık dize gösterimi yerine, tamsayı tabanlı hücre adresleme (Cell(row, col)) kullanır. Her iki yaklaşım da geçerli XLSX dosyaları üretir. ClosedXML, MIT lisansı altında yayımlanmıştır ve bu sayede ticari lisanslama kaygısı olmadan açık kaynak projeleri için uygundur. ClosedXML GitHub deposu, sorun takibi ve topluluk katkılı örnekler sağlar.
EPPlus, ticari olmayan kullanım için Polyform Ticari Olmayan lisansı altında benzer işlevsellik sunar ve üretim dağıtımları için ticari lisans gereklidir. EPPlus'ı ticari bir üründe kullanmadan önce EPPlus lisans genel bakışına danışın. EPPlus ve ClosedXML her ikisi de geçerli Excel dosyaları üretir, ancak IronXL'nin sunduğu doğal CSV, JSON veya XML dışa aktarma imkanı sunmazlar.
Aşağıdaki tablo, ASP.NET Core uygulamaları için üretime yönelik spesifik yetenekleri karşılaştırır:
| Yetenek | IronXL | ClosedXML | EPPlus |
|---|---|---|---|
| CSV, JSON ve XML dışa aktarma | Yerel | Mevcut değil | Mevcut değil |
| DataTable entegrasyonu | Evet | Evet | Evet |
| Teknik destek | Lisans ile birlikte dahildir | Yalnızca topluluk | Ücretli katman |
| Microsoft Office bağımlılığı | None | None | None |
| Çok platformlu (.NET, Linux'ta) | Evet | Evet | Evet |
| Lisans türü | Ticari | MIT | Polyform / Ticari |
Projeniz İçin Doğru Kütüphaneyi Nasıl Seçersiniz?
Doğru Excel dışa aktarma kütüphanesini seçmek, gerekli çıkış formatlarına, projenizin lisanslama kısıtlamalarına ve profesyonel destek gereksinimlerinize bağlıdır.
IronXL'i seçin, uygulamanız çoklu format çıkışı (XLSX, CSV, JSON, XML) gerekiyorsa, garantili bir destek kanalı gerektiren ticari bir ürün oluşturuyorsanız veya formül değerlendirmesi, hücre stilini veya grafik oluşturma gibi gelişmiş Excel özellikleri gerekiyorsa. IronXL'nin belgeleri her API yüzeyini ayrıntılı bir şekilde kapsar ve destek ekibi, lisans sahiplerine doğrudan yanıt verir. Ek örüntüler ve rehberlik için IronXL blogunu gözden geçirin.
ClosedXML'i seçin, projeniz açık kaynak veya ticari olmayan ve yalnızca XLSX çıktı gerekiyorsa. MIT lisansı, yeniden dağıtım konusunda hiçbir kısıtlama getirmez ve API, topluluk kaynakları aracılığıyla iyi belgelenmiştir.
EPPlus'u seçin mevcut kod tabanı zaten EPPlus kullanıyorsa ve başka bir kütüphaneye geçmek ticari lisans satın almaktan daha pahalıya mal olacaksa.
IronXL'in alternatiflerine karşı değerlendiren takımlar için, IronXL deneme lisansı, satın almadan önce tam özellikli test yapma imkanı tanır. Excel dosyalarını okuma ve yazma için ek kod örnekleri IronXL örnek sayfasında mevcuttur.
Sonraki Adımlarınız Neler?
ARTI UTILS, uygulama teFIN, plan veya planlar ile AceInformatica'nın, güç GV&U'dan sağlanan bilgiler ve TIL tarafından yapılan ödeme hizmetleri ve işlevlerini Apple en iyi bTIL'e özel olarak geliştirilmiştir.
- İlk iş kitabınızı oluşturmak için
dotnet add package IronXL.Excelkullanarak IronXL'i yükleyin ve başlarken kılavuzunu tamamlayın. - Kod kalıplarını karşılaştırın, veritabanı dışa aktarma, çoklu sayfalı çalışma kitapları veya stilize raporlar gibi kullanım durumunuza uyan senaryolar için IronXL örnekler sayfasını inceleyin.
- Lisanslamayı değerlendirin, geliştirme, test ve üretime yönelik dağıtım seçeneklerini anlamak için IronXL lisans sayfasını ziyaret edin.
- Uygulamanız aynı kod tabanından birden fazla formatta veri dışa aktarması gerekiyorsa,
SaveAsCsv,SaveAsJsonveSaveAsXmlyöntemlerini test ederek ek formatları keşfedin. - Çözümünüzdeki mevcut herhangi bir
Response.ContentType = "application/vnd.ms-excel"deseni belirleyerek ve onları IronXL iş kitapları oluşturma ile değiştirerek eski kodlardan geçiş yapın, kullanıcılarınız için format uyarılarını ortadan kaldırın.
Üretim dağıtımları için, profesyonel desteğin kilidini açmak ve IronXL lisans şartlarına uyumu sağlamak üzere bir lisans satın alın.
Sıkça Sorulan Sorular
ASP.NET Core'da Excel'e dışa aktarma için IronXL'nin temel özellikleri nelerdir?
IronXL, Microsoft Office gerektirmeden gerçek XLSX, CSV, JSON ve XML dosyaları üretir. Çalışma kitapları ve çalışma sayfaları yönetimi, hücre düzeyinde stillendirme, formül değerlendirmesi ve DataTable entegrasyonu için sezgisel bir API sunar; tümü standart .NET yönetimli kod içinde.
IronXL, ASP.NET Core projelerinde ClosedXML ile nasıl karşılaştırılır?
IronXL, birden fazla dışa aktarma formatını (XLSX, CSV, JSON, XML) destekler ve ticari bir lisans ile profesyonel destek içerir. ClosedXML, yalnızca elektronik tablo çıktısına ihtiyaç duyan açık kaynak projeleri için uygun, MIT lisansı altında geçerli XLSX dosyaları üretir.
IronXL, ASP.NET'te veritabanlarından Excel raporları oluşturmaya uygun mudur?
Evet. IronXL, SQL Server veya diğer ilişkisel veritabanlarından çalışma sayfalarını doldurmayı ve ortaya çıkan dosyayı tarayıcıya akıtmayı kolaylaştıran DataTable nesneleri ve ADO.NET sorgu sonuçları ile doğrudan çalışır.
IronXL'nin EPPlus üzerinde kullanmanın avantajları nedir?
IronXL, doğal olarak CSV, JSON ve XML dışa aktarma destekler, her ticari lisans ile profesyonel destek içerir ve ticari olmayan bir kısıtlama getirmez. EPPlus, üretim kullanımı için ayrı bir ticari lisans gerektirir ve doğal çok format dışa aktarma sunmaz.
IronXL, büyük veri kümelerini verimli bir şekilde yönetebilir mi?
IronXL, sunucu tarafı iş yükleri için tasarlanmıştır ve büyük veri kümelerini yönetirken Microsoft Excel veya COM interop gerektirmez. Çok büyük dışa aktarmalar için byte dizisini doğrudan ASP.NET Core File() yanıtı üzerinden akıtmak, tüm dosyayı bellekte tamponlamadan kaçınır.
IronXL'nin Excel'e dışa aktarma için Microsoft Office'in yüklenmesini gerektirir mi?
Hayır. IronXL, tamamen yönetimli .NET kodunda çalışır ve Microsoft Office, COM interop veya Office otomasyonu ile bağımsızdır. Windows, Linux ve macOS'ta, .NET'in desteklendiği her yerde çalışır.



