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 gereksinimdir. İster satış raporları üretiyor, ister kullanıcıların GridView içeriğini indirmelerine olanak tanıyor, isterse veritabanı sorgularından CSV dosyaları üretiyor olun, seçtiğiniz yaklaşım, sonuçta ortaya çıkan dosyanın Microsoft Excel'de temiz bir şekilde açılıp açılmayacağını veya format uyarılarını tetikleyip tetiklemeyeceğini belirler. Bu makale, C# geliştiricilerine sunulan en yaygın Excel dışa aktarma yöntemlerini karşılaştırır -- geleneksel HTML tabanlı yayınlama ve IronXL, ClosedXML ve EPPlus dahil olmak üzere 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 dosya oluşturmayı nasıl yönettiğini görün.
ASP.NET Core'da Verilerin Excel'e Aktarılmasının Yaygın Yöntemleri Nelerdir?
ASP.NET Core geliştiricileri, Excel dışa aktarma işlevselliği eklerken birkaç yola sahiptir. Her yaklaşım, çıktı dosyasının kalitesi, uygulanması için gereken çaba ve ticari projeler için lisans etkileri açısından 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 çıktı akışına bir HTML tablosu yazar. Tarayıcı bunu bir Excel indirimi olarak yorumlar, ancak dosya gerçek elektronik tablo verisi yerine HTML işaretlemesi içerir. Microsoft Excel uyuşmazlığı algılar ve dosyayı açmadan önce bir format uyarısı görüntüler. Bu yöntem formülleri, yazılmış sütunları veya uygun hücre formatlamasını 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ı olmadan açılan, hücre düzeyinde formatlamayı destekleyen ve .NET Core ile çalışan geçerli Excel dosyaları üretir. Dosya indirme konusunda resmi .NET belgesi bu yaklaşımların hepsi tarafından kullanılan temel ASP.NET Core mekanizmalarını kapsar.
Aşağıdaki tablo temel farklılıkları özetlemektedir:
| Özellik | MIME Türü / HTML | ClosedXML | EPPlus | IronXL |
|---|---|---|---|---|
| Gerçek XLSX çıktı | Hayır | Evet | Evet | Evet |
| CSV dosya desteği | Manuel | 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 | Geçersiz | MIT | Polyform | Ticari |
| .NET Core desteği | Evet | Evet | Evet | Evet |
IronXL'yi Bir ASP.NET Core Projesine Nasıl Yüklersiniz?
Herhangi bir dışa aktarma kodu yazmadan önce, NuGet Paket Yöneticisi veya .NET CLI aracılığıyla projenize IronXL'yi ekleyin. IronXL'nin, Microsoft Office veya COM interop'a bağımlılığı olmadığı için, .NET tarafından desteklenen herhangi bir işletim sisteminde yüklenmesi kolaydır.
dotnet add package IronXl.Excel
dotnet add package IronXl.Excel
Alternatif olarak, Visual Studio'daki Paket Yöneticisi Konsolu'nu kullanın:
Install-Package IronXl.Excel
Install-Package IronXl.Excel
Paket yüklendikten sonra, Excel dosyaları oluşturması gereken herhangi bir denetleyici veya servis sınıfına using IronXL; ekleyin. Temel dışa aktarma senaryoları için ek yapılandırma gerekmez. Lisanslama ve dağıtım seçenekleri hakkında daha fazla bilgi 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 desenlerinde, geliştiriciler GridView verilerini HTML olarak işleler ve yanıt İçerik-Tipi başlığı yanıltıcı olarak ayarlayarak tarayıcıya iletirler. Uygulama, dosya adını ayarlamak için Response.AddHeader çağrısı yapar 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ğrulamayı atlamak için VerifyRenderingInServerForm'yi geçersiz kılmayı gerektirir. Üretilen dosya, gerçek elektronik tablo verisi yerine HTML içerdiğinden, kullanıcı dosyayı açtığında Microsoft Excel bir format uyarısı gösterir. Çıktı, çalışma kitabı formüllerini, veri türü sütunlarını veya hücre düzeyinde formatlamayı destekleyemez. Herhangi bir yeni ASP.NET Core geliştirmesi için, bu kalıp yerine düzgün 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 gerektirmeden 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, bu nedenle Linux, macOS ve Windows'ta herhangi bir ek bağımlılık olmadan ç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 format uygular ve dosyayı tarayıcıya iletir:
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.Hayırw: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.Hayırw: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, Excel penceresinin alt kısmında kullanıcıların gördüğü isimlendirilmiş bir sekme ekler. Hücre değerleri, çoğu C# geliştiricisinin okunaklı ve sürdürülebilir bulduğu Excel tarzı aralık notasyonu ("A1", "B2") kullanılarak atanır.
ToByteArray() yöntemi, bitmiş çalışma kitabını bayt dizisine dönüştürür ve ASP.NET Core File() yanıt yöntemi, doğru MIME türü ve içerik yerleşimi başlıklarıyla doğrudan kullanıcının tarayıcısına yayımlar. İ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 gereken senaryolar için IronXL, ClosedXML veya EPPlus'da bulunmayan işlevler olan SaveAsJson ve SaveAsXml yöntemlerini sağlar. Ek desenleri IronXL kod örnekleri ve API referansında bulabilirsiniz.
IronXL, DataTable ve Veritabanı Entegrasyonunu Nasıl Yönetir?
Birçok ASP.NET Core uygulaması, veri ihraç edilmeden önce SQL Server veya başka bir ilişkisel veritabanından veri alır. IronXL, bir DataTable'yi doğrudan bir çalışma sayfasına yüklemek için birinci sınıf destek sağlar, satırları elle yineleme gereksinimini ortadan kaldırır.
Aşağıdaki örnek, bir ADO.NET kullanarak bir veritabanına sorgu yapar ve elde edilen DataTable ile bir Excel çalışma sayfasını 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 desen, denetleyiciyi yalın ve test edilebilir durumda tutar. Veritabanı sorgusu ve çalışma kitabı yapısı açıkça ayrılmıştır, bu da veri kaynağını değiştirmeyi veya özet verileri için ek çalışma sayfaları eklemeyi kolaylaştırır. Var olan Excel dosyalarını bir DataTable'ye okumayla ilgili rehber için, Excel dosyalarını okuma ile ilgili IronXL rehberine 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 sarmalar. NuGet'ten yükleyin:
Install-Package ClosedXML
Install-Package ClosedXML
Aşağıdaki örnek, tipik bir ClosedXML dışa aktarma işlemini gösterir:
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'in kullandığı aralık-dizi notasyonu 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ınlanır ve ticari lisanslama endişeleri olmadan açık kaynak projeleri için uygundur. ClosedXML GitHub deposu, sorun izleme ve topluluk katkılı örnekler sağlar.
EPPlus, ticari lisans gerektiren üretim dağıtımlarında ticari kullanım için Polyform Ticari Olmayan lisansı altında benzer işlevsellik sunar. Ticari bir üründe kullanmadan önce EPPlus lisans genel bakışını gözden geçirin. EPPlus ve ClosedXML, her ikisi de geçerli Excel dosyaları üretir ancak hiçbiri IronXL'nin yaptığı şekilde yerel CSV, JSON veya XML dışa aktarma sunmaz.
Aşağıdaki tablo, üretim ASP.NET Core uygulamalarıyla ilgili belirli yetenekleri karşılaştırır:
| Yetkinlik | 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 dahil edilir | Sadece topluluk | Ücretli seviye |
| Microsoft Office bağımlılığı | Hayırne | Hayırne | Hayırne |
| Çapraz platform (.NET üzerinde Linux) | 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, üç faktöre bağlıdır: gerekli çıktı formatları, projenizin lisans kısıtlamaları ve profesyonel destek gereksinimi.
IronXL'yi seçin uygulamanız çok formatlı çıktı (XLSX, CSV, JSON, XML) gerektirdiğinde, garantili bir destek kanalı gerektiren ticari bir ürün geliştirdiğinizde veya gelişmiş Excel özellikleri gibi özelliklere ihtiyaçınız olduğunda tir elinizi rahatlayın: formül değerlendirmesi, hücre stili veya grafik oluşturma. IronXL'nin belgeleri her API yüzeyini ayrıntılı bir şekilde kapsar ve destek ekibi, lisans sahiplerine doğrudan yanıt verir. Ek desenler ve eğitimler için IronXL blogunu gözden geçirin.
ClosedXML'yi seçin projeniz açık kaynak veya ticari olmayan ve yalnızca XLSX çıktı gerektiriyorsa. MIT lisansı, yeniden dağıtımda hiçbir kısıtlama getirmez ve API, topluluk kaynakları aracılığıyla iyi belgelenmiştir.
EPPlus'ı seçin mevcut bir kod tabanı zaten EPPlus kullanıyorsa ve başka bir kütüphaneye geçmek, ticari bir lisans satın almaktan daha fazla maliyetli olabilir.
Ekipler, IronXL'yi alternatifleri ile karşılaştırırken, IronXL deneme lisansı satın almadan önce tam özellikli bir test yapmalarına olanak tanır. Excel dosyalarını okuma ve yazma için ek kod örnekleri, IronXL örnek sayfasında mevcuttur.
Sıradaki Adımlarınız Neler?
ASP.NET Core için mevcut Excel dışa aktarma yaklaşımlarını gözden geçirdiğinize göre, ilerlemek için aşağıdaki adımları atabilirsiniz:
- IronXL Kurun
dotnet add package IronXl.Excelkullanarak ve ilk çalışma kitabınızı oluşturmak için başlangıç rehberi ile çalışın. - Veritabanı dışa aktarma, çok sayfalı çalışma kitapları veya stilize raporlar gibi kullanım durumunuza uygun senaryolar için IronXL örnek sayfasından kod kalıplarını karşılaştırın.
- Geliştirme, aşama ve üretim ortamları için seçenekleri anlamak üzere IronXL lisans sayfasını ziyaret ederek lisanslamayı değerlendirin.
- Uygulamanızın aynı kod tabanından birden fazla formatta veri dışa aktarması gerekiyorsa,
SaveAsCsv,SaveAsJsonveSaveAsXmlyöntemlerini test ederek ek formatlarını keşfedin. - Çözümünüzdeki var olan
Response.ContentType = "application/vnd.ms-excel"modellerini belirleyerek ve bunları IronXL çalışma kitabı oluşturma ile değiştirerek eski koddan 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ği etkinleştirmek ve IronXL lisans koşullarına uyumu sağlamak için bir lisans satın alın.
Sıkça Sorulan Sorular
IronXL'in ASP.NET Core'da Excel'e dışa aktarma için kilit özellikleri nelerdir?
IronXL, Microsoft Office gerektirmeden gerçek XLSX, CSV, JSON ve XML dosyaları oluşturur. Çalışma kitapları ve çalışma sayfalarının yönetimi, hücre düzeyinde stil verme, formül değerlendirme ve DataTable entegrasyonu için sezgisel bir API sunar, bunların tamamı standart .NET yönetimli kod içinde.
IronXL, ASP.NET Core projeleri için 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 lisansla profesyonel destek içerir. ClosedXML, yalnızca elektronik tablo çıktısına ihtiyaç duyan açık kaynak projeleri için uygun hale getiren MIT lisansı altında geçerli XLSX dosyaları üretir.
IronXL, ASP.NET'te veritabanlarından Excel raporları oluşturmak için uygun mu?
Evet. IronXL, SQL Server veya diğer ilişkisel veritabanlarından çalışma sayfalarını doldurmayı ve sonucu tarayıcıya akıtmayı kolaylaştıran DataTable nesneleri ve ADO.NET sorgu sonuçlarıyla doğrudan çalışır.
IronXL kullanmanın EPPlus'a göre avantajları nelerdir?
IronXL, CSV, JSON ve XML dışa aktarma işlevini doğal olarak destekler, her ticari lisansla profesyonel destek içerir ve ticari olmayan bir kısıtlama yüklemez. EPPlus, üretim kullanımı için ayrı bir ticari lisans gerektirir ve doğal çoklu format dışa aktarma sunmaz.
IronXL, büyük veri setlerini verimli bir şekilde yönetebilir mi?
IronXL, sunucu tarafı iş yükleri için tasarlanmıştır ve Microsoft Excel veya COM etkileşimi gerektirmeden büyük veri setlerini yönetir. Çok büyük dışa aktarmalar için, ASP.NET Core File() yanıtı aracılığıyla bayt dizisini doğrudan akıtmak, tüm dosyanın bellekte tamponlanmasına gerek kalmadan yapılabilir.
IronXL'in Excel'e dışa aktarma için Microsoft Office kurulu olması gerektirir mi?
Hayır. IronXL, tamamen yönetilen .NET koduyla işlemler yapar ve Microsoft Office, COM interop veya Office otomasyonuna bağımlı değildir. .NET'in desteklendiği Windows, Linux ve macOS'ta çalışır.



