Altbilgi içeriğine atla
IRONXL KULLANARAK

C# CSV'yi XLSX'e Dönüştürme: CSV Dosyalarını Excel Formatına Dönüştürme

CSV dosyalarını XLSX formatına dönüştürmek, virgülle ayrılmış değer dosyalarının sunamayacağı elektronik tablo yeteneklerinin kilidini açar. CSV ham tablo verilerini depolarken, Excel'in XLSX formatı formülleri, birden fazla çalışma sayfasını, grafiklerini, hücre biçimlendirmesini ve veri doğrulamayı destekler - modern iş uygulamalarının talep ettiği özelliklerdir. Dönüştürme süreci, doğru kütüphane ile basittir ve sadece birkaç satır C# kodu alır.

IronXL, bu dönüşümü doğrudan gerçekleştiren bir .NET kütüphanesidir ve Microsoft Office veya Open XML SDK gerektirmez. Kaynak CSV dosyasını okur, ayrılmış veriyi çözümler ve tam uyumlu bir XLSX çalışma kitabı yazar. NuGet aracılığıyla yükleyin ve aşağıdaki kod örnekleriyle devam etmek için ücretsiz bir deneme başlatın.

CSV Dosyalarını C# ile XLSX Formatına Nasıl Dönüştürürsünüz?

Temel dönüşüm, CSV dosyasını yüklemeyi ve Excel formatında kaydetmeyi gerektirir. IronXL, sınırlı kaynağı ayrıştıran ve ihracata hazır bir çalışma kitabı oluşturan WorkBook.LoadCSV sağlar. Yöntem, dosya yolunu, hedef Excel formatını ve ayırıcı karakterini kabul eder.

using IronXL;

// Load CSV file and convert to XLSX format
WorkBook workbook = WorkBook.LoadCSV("data.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");

// Access the default worksheet containing CSV data
WorkSheet worksheet = workbook.DefaultWorkSheet;

// Save as Excel XLSX file
workbook.SaveAs("output.xlsx");
using IronXL;

// Load CSV file and convert to XLSX format
WorkBook workbook = WorkBook.LoadCSV("data.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");

// Access the default worksheet containing CSV data
WorkSheet worksheet = workbook.DefaultWorkSheet;

// Save as Excel XLSX file
workbook.SaveAs("output.xlsx");
Imports IronXL

' Load CSV file and convert to XLSX format
Dim workbook As WorkBook = WorkBook.LoadCSV("data.csv", fileFormat:=ExcelFileFormat.XLSX, ListDelimiter:=",")

' Access the default worksheet containing CSV data
Dim worksheet As WorkSheet = workbook.DefaultWorkSheet

' Save as Excel XLSX file
workbook.SaveAs("output.xlsx")
$vbLabelText   $csharpLabel

Çıktı

C# CSV to XLSX: Tam Geliştirici Kılavuzu: Görsel 1 - CSV'den Excel'e dönüştürme için örnek çıktı

LoadCSV metodu üç önemli parametreyi kabul eder: dosya adı, hedef Excel format sabiti ve kaynak dosyada kullanılan liste ayırıcı. Bu yöntem, orijinal CSV sayfasından tüm metin verilerini ve sayısal değerleri korurken düzgün yapılandırılmış bir XLSX dosyası oluşturur. WorkBook sınıfı tüm elektronik tablo işlemleri için merkezi bir hub görevi görür. Yüklendiğinde, CSV verileri çalışma sayfaları aracılığıyla erişilebilir hale gelir, böylece nihai Excel dosyası kaydedilmeden önce daha fazla manipülasyon sağlanır.

CSV yerine mevcut XLSX dosyalarını yüklemek için, formatı dosya uzantısından otomatik olarak algılayan WorkBook.Load("file.xlsx") kullanın. Bu, CSV veya Excel girişlerini kabul eden ve bunları tek bir çıkış formatına normalize eden hatlar oluşturmayı kolaylaştırır.

CSV'yi Excel Formatına Dönüştürmenin Faydaları Nelerdir?

Çoğu veri yönetimi senaryosu için XLSX formatı, düz CSV'ye göre ölçülebilir avantajlar sunar:

  • Birden Çok Çalışma Sayfası: Excel dosyaları, tek bir çalışma kitabı içinde birden çok sayfayı destekler, böylece CSV dosyalarının eşleşemeyeceği organize veri depolaması sağlar. Tek bir XLSX dosyası, farklı zaman periyotlarına, bölgelere veya kategorilere yayılmış düzinelerce çalışma sayfası içerebilir.
  • Formül Desteği: Karmaşık hesaplamaları, agregasyonları ve koşullu mantığı doğrudan hücrelere yazın. Excel formülleri, kaynak veriler değiştiğinde otomatik olarak yeniden hesaplanır, CSV dosyalarını manuel olarak yeniden işlemeye gerek kalmaz.
  • Görsel Grafikler: Çalışma sayfası verilerinden çubuk grafikler, çizgi grafikler, pasta grafikler ve diğer görselleştirmeler oluşturun. IronXL, API aracılığıyla grafik oluşturmayı doğrudan destekler, böylece grafikler XLSX dosyasına gömülür.
  • Hücre Biçimlendirme: Profesyonel belgeler için yazı tiplerini, renkleri, kenarlarını ve sayı formatlarını kontrol edin. CSV dosyaları sadece ham değerleri saklar; XLSX, verilerin yanı sıra görüntüleme katmanını da korur.
  • Veri Doğrulama: Hücre girişini belirli değerlere veya aralıklara kısıtlayın, son kullanıcılarla paylaşılan dosyalardaki veri giriş hatalarını önleyin.
  • Parola Koruması: Okuma ve yazma erişimini kontrol etmek için çalışma sayfalarına ve çalışma kitaplarına parolalarla koruyun, CSV'de tamamen bulunmayan bir özellik.

Bu yetenekler, XLSX formatını raporlar, panolar, finansal modeller ve ham veri depolamanın ötesinde daha fazlasını gerektiren herhangi bir uygulama için standart seçim haline getirir.

.NET Projesine IronXL Nasıl Kurulur?

IronXL, bir NuGet paketi olarak dağıtılır. Visual Studio'daki Paket Yöneticisi Konsolu'ndan yükleyin:

Install-Package IronXL.Excel

.NET CLI kullanarak:

dotnet add package IronXL.Excel

Kurulumdan sonra using IronXL;'yi elektronik tablolarla çalışan herhangi bir dosyaya ekleyin. Paket, .NET Framework 4.6.2+, .NET Core 3.1+, .NET 5 ile .NET 10'u hedefler ve Windows, Linux, macOS, Docker ve Azure dağıtım ortamlarını destekler.

Ekstra bir çalışma zamanı bağımlılığı veya Microsoft Office kurulumu gerektirmez. IronXL, kendi ayrıştırıcı ve yazıcısını kullanarak XLSX dosyalarını okur ve yazar, bu da ofis yüklenemeyen sunucu tarafı ve başsız dağıtımlar için uygun yapar.

CSV Kodlaması Dönüştürme Sırasında Nasıl Yönetilir?

Birçok CSV dosyası, eski sistemlerden, uluslararası veritabanlarından veya üçüncü taraf dışa aktarmalarından gelir ve ASCII olmayan karakterler içerir. Kodlamayı doğru ele almak, özel karakterler ve uluslararası metnin, sonuç XLSX dosyasında bozulmadan kalmasını sağlar.

using IronXL;
using System.Text;

// Load CSV with explicit encoding specification
WorkBook workbook = WorkBook.LoadCSV("international-data.csv",
    fileFormat: ExcelFileFormat.XLSX,
    ListDelimiter: ",",
    encoding: Encoding.UTF8);

// Access the worksheet containing the encoded data
WorkSheet sheet = workbook.DefaultWorkSheet;

// Inspect a cell to verify encoding was preserved
string cellValue = sheet["A1"].StringValue;

// Save the converted Excel file
workbook.SaveAs("encoded-output.xlsx");
using IronXL;
using System.Text;

// Load CSV with explicit encoding specification
WorkBook workbook = WorkBook.LoadCSV("international-data.csv",
    fileFormat: ExcelFileFormat.XLSX,
    ListDelimiter: ",",
    encoding: Encoding.UTF8);

// Access the worksheet containing the encoded data
WorkSheet sheet = workbook.DefaultWorkSheet;

// Inspect a cell to verify encoding was preserved
string cellValue = sheet["A1"].StringValue;

// Save the converted Excel file
workbook.SaveAs("encoded-output.xlsx");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Çıktı XLSX Dosyası

C# CSV to XLSX: Tam Geliştirici Kılavuzu: Görsel 2 - Tüm kodlamaların ele alındığı CSV'den XLSX'e

IronXL, UTF-8 dahil olmak üzere çoğu standart CSV dosyası için yaygın kodlama formatlarını otomatik olarak algılar. Windows-1252, ISO-8859-1 veya Shift-JIS gibi standart olmayan kodlamalara sahip dosyalar için, LoadCSV çağrısına System.Text.Encoding örneğini iletin. Microsoft Learn üzerindeki Kodlama sınıfı dökümantasyonu, desteklenen tüm kodlama isimlerini listeler.

Uzaktaki bir sunucudan CSV verilerini çekerken, akışı indirmek, geçici bir dosya olarak kaydetmek ve ardından LoadCSV aracılığıyla yüklemek için HttpClient kullanın. Bu desen, CSV dosyalarının üçüncü taraf API'larından HTTP yanıtları olarak geldiği bulut barındırılan .NET uygulamalarında çalışır.

CSV Dönüştürme Sonrası Hücre Biçimlendirmesi Nasıl Uygulanır?

Ham CSV verileri biçimlendirme bilgisi taşımaz. XLSX'e dönüştürdükten sonra, elektronik tabloyu okunabilir ve profesyonel hale getirmek için sayı formatlarını, yazı tiplerini ve arka plan renklerini uygulayın.

using IronXL;
using IronXL.Styles;

// Load CSV data
WorkBook workbook = WorkBook.LoadCSV("sales-report.csv",
    fileFormat: ExcelFileFormat.XLSX,
    ListDelimiter: ",");

WorkSheet sheet = workbook.DefaultWorkSheet;

// Format the header row with bold text and background color
Range headerRow = sheet["A1:Z1"];
headerRow.Style.Font.Bold = true;
headerRow.Style.SetBackgroundColor("#4472C4");
headerRow.Style.Font.Color = "#FFFFFF";

// Apply currency format to a numeric column
Range priceColumn = sheet["C2:C100"];
priceColumn.Style.NumberFormat = "$#,##0.00";

// Auto-fit column widths for readability
sheet.AutoSizeColumn(0);
sheet.AutoSizeColumn(1);
sheet.AutoSizeColumn(2);

workbook.SaveAs("formatted-report.xlsx");
using IronXL;
using IronXL.Styles;

// Load CSV data
WorkBook workbook = WorkBook.LoadCSV("sales-report.csv",
    fileFormat: ExcelFileFormat.XLSX,
    ListDelimiter: ",");

WorkSheet sheet = workbook.DefaultWorkSheet;

// Format the header row with bold text and background color
Range headerRow = sheet["A1:Z1"];
headerRow.Style.Font.Bold = true;
headerRow.Style.SetBackgroundColor("#4472C4");
headerRow.Style.Font.Color = "#FFFFFF";

// Apply currency format to a numeric column
Range priceColumn = sheet["C2:C100"];
priceColumn.Style.NumberFormat = "$#,##0.00";

// Auto-fit column widths for readability
sheet.AutoSizeColumn(0);
sheet.AutoSizeColumn(1);
sheet.AutoSizeColumn(2);

workbook.SaveAs("formatted-report.xlsx");
Imports IronXL
Imports IronXL.Styles

' Load CSV data
Dim workbook As WorkBook = WorkBook.LoadCSV("sales-report.csv", fileFormat:=ExcelFileFormat.XLSX, ListDelimiter:=",")

Dim sheet As WorkSheet = workbook.DefaultWorkSheet

' Format the header row with bold text and background color
Dim headerRow As Range = sheet("A1:Z1")
headerRow.Style.Font.Bold = True
headerRow.Style.SetBackgroundColor("#4472C4")
headerRow.Style.Font.Color = "#FFFFFF"

' Apply currency format to a numeric column
Dim priceColumn As Range = sheet("C2:C100")
priceColumn.Style.NumberFormat = "$#,##0.00"

' Auto-fit column widths for readability
sheet.AutoSizeColumn(0)
sheet.AutoSizeColumn(1)
sheet.AutoSizeColumn(2)

workbook.SaveAs("formatted-report.xlsx")
$vbLabelText   $csharpLabel

IronXL, hücre ve aralığı stilini, Excel UI'de mevcut olan biçimlendirme seçeneklerini yansıtan Style özelliği aracılığıyla sunar. Sayı biçimleri, Microsoft tarafından belgelenen Excel sayı formatı sözdizimini takip eder. SetBackgroundColor metodu, altıgen renk dizelerini kabul eder ve oluşturulan raporlara marka renklerini uygulamayı kolaylaştırır. Mevcut stil özellikleri için tam hücre biçimlendirme API referansını inceleyin.

CSV Verilerini Dönüştürdükten Sonra Grafik Nasıl Eklenir?

CSV verileri bir Excel çalışma kitabında bulunduktan sonra, IronXL, o verilerden doğrudan grafik oluşturmaya olanak tanır. Grafikler, sunucuda Microsoft Excel kurulumu gerektirmeden ham sayıları görsel içgörülere dönüştürür.

using IronXL;
using IronXL.Drawing.Charts;

// Load CSV and convert to Excel format
WorkBook workbook = WorkBook.LoadCSV("sales-data.csv",
    fileFormat: ExcelFileFormat.XLSX,
    ListDelimiter: ",");

WorkSheet worksheet = workbook.DefaultWorkSheet;

// Create a column chart from the converted CSV data
IChart chart = worksheet.CreateChart(ChartType.Column, 10, 0, 25, 10);

// Add data series from the worksheet ranges
IChartSeries series = chart.AddSeries("A2:A10", "B2:B10");
series.Title = "Monthly Sales";

// Configure chart appearance
chart.SetTitle("Sales Performance");
chart.SetLegendPosition(LegendPosition.Bottom);

// Plot the chart and save the workbook
chart.Plot();
workbook.SaveAs("sales-with-chart.xlsx");
using IronXL;
using IronXL.Drawing.Charts;

// Load CSV and convert to Excel format
WorkBook workbook = WorkBook.LoadCSV("sales-data.csv",
    fileFormat: ExcelFileFormat.XLSX,
    ListDelimiter: ",");

WorkSheet worksheet = workbook.DefaultWorkSheet;

// Create a column chart from the converted CSV data
IChart chart = worksheet.CreateChart(ChartType.Column, 10, 0, 25, 10);

// Add data series from the worksheet ranges
IChartSeries series = chart.AddSeries("A2:A10", "B2:B10");
series.Title = "Monthly Sales";

// Configure chart appearance
chart.SetTitle("Sales Performance");
chart.SetLegendPosition(LegendPosition.Bottom);

// Plot the chart and save the workbook
chart.Plot();
workbook.SaveAs("sales-with-chart.xlsx");
Imports IronXL
Imports IronXL.Drawing.Charts

' Load CSV and convert to Excel format
Dim workbook As WorkBook = WorkBook.LoadCSV("sales-data.csv", fileFormat:=ExcelFileFormat.XLSX, ListDelimiter:=",")

Dim worksheet As WorkSheet = workbook.DefaultWorkSheet

' Create a column chart from the converted CSV data
Dim chart As IChart = worksheet.CreateChart(ChartType.Column, 10, 0, 25, 10)

' Add data series from the worksheet ranges
Dim series As IChartSeries = chart.AddSeries("A2:A10", "B2:B10")
series.Title = "Monthly Sales"

' Configure chart appearance
chart.SetTitle("Sales Performance")
chart.SetLegendPosition(LegendPosition.Bottom)

' Plot the chart and save the workbook
chart.Plot()
workbook.SaveAs("sales-with-chart.xlsx")
$vbLabelText   $csharpLabel

Çıktı

C# CSV to XLSX: Tam Geliştirici Kılavuzu: Görsel 3 - Bir grafiğe sahip Excel dosyasına CSV dosyasının dönüştürülmesi için çıktı

CreateChart metodu, grafik türü ve dört konumlandırma parametresini (üst satır, sol sütun, alt satır, sağ sütun) kabul eder. AddSeries metodu, çalışma sayfası hücre aralıklarını grafik eksenlerine bağlayarak, temel veri değiştiğinde güncellenen dinamik görselleştirmeler oluşturur. IronXL, ChartType numaralandırması aracılığıyla sütun, çubuk, çizgi, alan ve pasta grafik türlerini destekler. Desteklenen grafik yapılandırmalarının tam listesi için IronXL grafik öğreticisine bakın.

CSV'yi Bir DataTable'a ve Sonra Excel'e Nasıl Dönüştürürsünüz?

İhracat öncesi veri manipülasyonu gerektiren senaryolar için, bir DataTable üzerinden CSV verilerini dönüştürmek maksimum esneklik sağlar. Bu yaklaşım geliştiricilere, standart .NET veri erişim desenlerini kullanarak satırları filtreleme, dönüştürme, sıralama veya doğrulama olanağı tanır.

using IronXL;
using System.Data;

// Load CSV file into workbook
WorkBook sourceWorkbook = WorkBook.LoadCSV("input.csv",
    fileFormat: ExcelFileFormat.XLSX,
    ListDelimiter: ",");

// Convert worksheet to DataTable for manipulation
DataTable table = sourceWorkbook.DefaultWorkSheet.ToDataTable(true);

// Filter rows -- keep only rows where the third column value is greater than 100
DataRow[] filtered = table.Select("Column3 > 100");
DataTable filteredTable = filtered.Length > 0 ? filtered.CopyToDataTable() : table.Clone();

// Create new workbook from modified data
WorkBook outputWorkbook = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet outputSheet = outputWorkbook.CreateWorkSheet("Processed Data");

// Import filtered DataTable back into Excel
outputSheet.LoadFromDataTable(filteredTable, true);

// Save the final XLSX file
outputWorkbook.SaveAs("processed-output.xlsx");
using IronXL;
using System.Data;

// Load CSV file into workbook
WorkBook sourceWorkbook = WorkBook.LoadCSV("input.csv",
    fileFormat: ExcelFileFormat.XLSX,
    ListDelimiter: ",");

// Convert worksheet to DataTable for manipulation
DataTable table = sourceWorkbook.DefaultWorkSheet.ToDataTable(true);

// Filter rows -- keep only rows where the third column value is greater than 100
DataRow[] filtered = table.Select("Column3 > 100");
DataTable filteredTable = filtered.Length > 0 ? filtered.CopyToDataTable() : table.Clone();

// Create new workbook from modified data
WorkBook outputWorkbook = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet outputSheet = outputWorkbook.CreateWorkSheet("Processed Data");

// Import filtered DataTable back into Excel
outputSheet.LoadFromDataTable(filteredTable, true);

// Save the final XLSX file
outputWorkbook.SaveAs("processed-output.xlsx");
Imports IronXL
Imports System.Data

' Load CSV file into workbook
Dim sourceWorkbook As WorkBook = WorkBook.LoadCSV("input.csv", fileFormat:=ExcelFileFormat.XLSX, ListDelimiter:=",")

' Convert worksheet to DataTable for manipulation
Dim table As DataTable = sourceWorkbook.DefaultWorkSheet.ToDataTable(True)

' Filter rows -- keep only rows where the third column value is greater than 100
Dim filtered As DataRow() = table.Select("Column3 > 100")
Dim filteredTable As DataTable = If(filtered.Length > 0, filtered.CopyToDataTable(), table.Clone())

' Create new workbook from modified data
Dim outputWorkbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
Dim outputSheet As WorkSheet = outputWorkbook.CreateWorkSheet("Processed Data")

' Import filtered DataTable back into Excel
outputSheet.LoadFromDataTable(filteredTable, True)

' Save the final XLSX file
outputWorkbook.SaveAs("processed-output.xlsx")
$vbLabelText   $csharpLabel

Çıktı

C# CSV to XLSX: Tam Geliştirici Kılavuzu: Görsel 4 - CSV'den DataTable'a ve ardından XLSX çıktısına

ToDataTable metodu, çalışma sayfası verilerini bir .NET DataTable'e ihraç eder, ve boole parametresi, ilk satırın sütun başlıkları olarak mı değerlendirileceğini kontrol eder. LoadFromDataTable verileri geri alır, ikinci parametre true olduğunda sütun başlıklarını ilk satır olarak yazar. Bu çift yönlü dönüşüm, CSV alımı ve Excel çıktısı arasında LINQ ve ADO.NET işlemlerinin tam kullanımını sağlar. Ek seçenekler için IronXL DataTable belgelerine göz atın.

XLSX Dosyasını Dosya Yolu Yerine Akışa Nasıl Kaydedersiniz?

Sunucu tarafı uygulamalar genellikle Excel dosyalarını disk üzerinde geçici dosyalar oluşturmak yerine doğrudan HTTP yanıtlarına teslim etmesi gerekir. IronXL, çalışma kitaplarını bu amaçla MemoryStream olarak kaydetmeyi destekler.

using IronXL;
using System.IO;

// Load and convert CSV data
WorkBook workbook = WorkBook.LoadCSV("report-data.csv",
    fileFormat: ExcelFileFormat.XLSX,
    ListDelimiter: ",");

WorkSheet sheet = workbook.DefaultWorkSheet;

// Save workbook to a memory stream instead of a file
using MemoryStream stream = new MemoryStream();
workbook.SaveAs(stream);

// Reset stream position for reading
stream.Position = 0;

// The stream is now ready to pass to an HTTP response, upload to cloud storage,
// or attach to an email. For ASP.NET Core:
// return File(stream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "report.xlsx");

// Write bytes to verify stream contains XLSX data
byte[] xlsxBytes = stream.ToArray();
Console.WriteLine($"Generated XLSX size: {xlsxBytes.Length} bytes");
using IronXL;
using System.IO;

// Load and convert CSV data
WorkBook workbook = WorkBook.LoadCSV("report-data.csv",
    fileFormat: ExcelFileFormat.XLSX,
    ListDelimiter: ",");

WorkSheet sheet = workbook.DefaultWorkSheet;

// Save workbook to a memory stream instead of a file
using MemoryStream stream = new MemoryStream();
workbook.SaveAs(stream);

// Reset stream position for reading
stream.Position = 0;

// The stream is now ready to pass to an HTTP response, upload to cloud storage,
// or attach to an email. For ASP.NET Core:
// return File(stream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "report.xlsx");

// Write bytes to verify stream contains XLSX data
byte[] xlsxBytes = stream.ToArray();
Console.WriteLine($"Generated XLSX size: {xlsxBytes.Length} bytes");
Imports IronXL
Imports System.IO

' Load and convert CSV data
Dim workbook As WorkBook = WorkBook.LoadCSV("report-data.csv", fileFormat:=ExcelFileFormat.XLSX, ListDelimiter:=",")

Dim sheet As WorkSheet = workbook.DefaultWorkSheet

' Save workbook to a memory stream instead of a file
Using stream As New MemoryStream()
    workbook.SaveAs(stream)

    ' Reset stream position for reading
    stream.Position = 0

    ' The stream is now ready to pass to an HTTP response, upload to cloud storage,
    ' or attach to an email. For ASP.NET Core:
    ' Return File(stream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "report.xlsx")

    ' Write bytes to verify stream contains XLSX data
    Dim xlsxBytes As Byte() = stream.ToArray()
    Console.WriteLine($"Generated XLSX size: {xlsxBytes.Length} bytes")
End Using
$vbLabelText   $csharpLabel

Bir akışa kaydetmek, disk okuma/yazma işlemlerinden kaçınır ve geçici dosyaları temizleme ihtiyacını ortadan kaldırır. Bu desen, XLSX'in talep üzerine oluşturulduğu ASP.NET Core dosya indirme uç noktalarında yaygın olarak kullanılır. SaveAs(Stream) aşırı yüklemesi, yazılabilir herhangi bir akış örneğine eksiksiz, geçerli bir XLSX arşivi yazar.

Dönüştürülen Çalışma Defterinde Birden Fazla Çalışma Sayfası ile Nasıl Çalışılır?

Tek bir XLSX çalışma kitabı birden fazla çalışma sayfası içerebilir. Bir CSV dosyasını dönüştürdükten sonra, çalışma kitabı varsayılan olarak bir sayfa tutar. İlgili verileri organize etmek için programatik olarak ek yapraklar oluşturulabilir.

using IronXL;

// Load primary CSV data
WorkBook workbook = WorkBook.LoadCSV("quarterly-data.csv",
    fileFormat: ExcelFileFormat.XLSX,
    ListDelimiter: ",");

// Rename the default sheet created from the CSV
WorkSheet q1Sheet = workbook.DefaultWorkSheet;
q1Sheet.Name = "Q1 Data";

// Create additional worksheets for summary information
WorkSheet summarySheet = workbook.CreateWorkSheet("Summary");

// Write summary headers and formulas
summarySheet["A1"].Value = "Total Records";
summarySheet["B1"].Formula = $"=COUNTA('{q1Sheet.Name}'!A:A)-1";

summarySheet["A2"].Value = "Data Sheet";
summarySheet["B2"].Value = q1Sheet.Name;

// Save the multi-sheet workbook
workbook.SaveAs("multi-sheet-report.xlsx");
using IronXL;

// Load primary CSV data
WorkBook workbook = WorkBook.LoadCSV("quarterly-data.csv",
    fileFormat: ExcelFileFormat.XLSX,
    ListDelimiter: ",");

// Rename the default sheet created from the CSV
WorkSheet q1Sheet = workbook.DefaultWorkSheet;
q1Sheet.Name = "Q1 Data";

// Create additional worksheets for summary information
WorkSheet summarySheet = workbook.CreateWorkSheet("Summary");

// Write summary headers and formulas
summarySheet["A1"].Value = "Total Records";
summarySheet["B1"].Formula = $"=COUNTA('{q1Sheet.Name}'!A:A)-1";

summarySheet["A2"].Value = "Data Sheet";
summarySheet["B2"].Value = q1Sheet.Name;

// Save the multi-sheet workbook
workbook.SaveAs("multi-sheet-report.xlsx");
Imports IronXL

' Load primary CSV data
Dim workbook As WorkBook = WorkBook.LoadCSV("quarterly-data.csv", fileFormat:=ExcelFileFormat.XLSX, ListDelimiter:=",")

' Rename the default sheet created from the CSV
Dim q1Sheet As WorkSheet = workbook.DefaultWorkSheet
q1Sheet.Name = "Q1 Data"

' Create additional worksheets for summary information
Dim summarySheet As WorkSheet = workbook.CreateWorkSheet("Summary")

' Write summary headers and formulas
summarySheet("A1").Value = "Total Records"
summarySheet("B1").Formula = $"=COUNTA('{q1Sheet.Name}'!A:A)-1"

summarySheet("A2").Value = "Data Sheet"
summarySheet("B2").Value = q1Sheet.Name

' Save the multi-sheet workbook
workbook.SaveAs("multi-sheet-report.xlsx")
$vbLabelText   $csharpLabel

CreateWorkSheet metodu, çalışma kitabına yeni bir boş sayfa ekler. Sayfalar, workbook.WorkSheets aracılığıyla isim veya indeksle erişilebilir. Sayfalar arası formül referansları, standart Excel notasyonu 'SheetName'!CellRef kullanır. Daha fazla bilgi için çoklu sayfa işlemleri hakkında, IronXL çoklu sayfa kılavuzuna bakınız.

Sonraki Adımlarınız Neler?

CSV dosyalarını C#'ta IronXL ile XLSX'e dönüştürmek yalnızca birkaç satır kod alır ve Microsoft Office bağımlılığı olmadan tamamen uyumlu bir Excel çalışma kitabı üretir. Yukarıdaki örnekler, temel CSV yükleme ve kaydetmeden, kodlama işleme, hücre biçimlendirme, grafik oluşturma, DataTable entegrasyonu, akış çıkışı ve çoklu sayfa çalışma kitaplarına kadar tam iş akışını kapsar.

Bu kılavuzda ele alınan anahtar yetenekler:

  • WorkBook.LoadCSV ve SaveAs ile temel CSV'den XLSX'e dönüştürme
  • Uluslararası karakter setleri için kodlama belirtimi
  • Dönüştürme sonrasında uygulanan hücre ve aralık biçimlendirmesi
  • XLSX dosyasında doğrudan gömülü grafik oluşturma
  • Filtrelenmiş ve dönüştürülmüş veri için DataTable gidiş-dönüş
  • Sunucu tarafı dosya teslimatı için MemoryStream çıkışı
  • Tek bir CSV kaynağından çoklu sayfa çalışma kitabı oluşturma

IronXL, .NET Framework, .NET Core ve .NET 5 ile 10 arasında Windows, Linux, macOS, Docker ve Azure dağıtımlarını destekler. Daha fazla yetenek keşfetmek için IronXL dokümantasyonunu inceleyin, Excel API nesne referansını tarayın veya IronXL nasıl yapılır kılavuzlarına göz atın. Burada Excel dosyalarını okumak, hücreleri birleştirmek ve formüller uygulamak gibi konuları bulabilirsiniz. Tüm özellikleri bir geliştirme ortamında test etmek için ücretsiz denemeyi indirin veya üretim dağıtımı için bir lisans satın alın.

Şimdi IronXL ile başlayın.
green arrow pointer

Sıkça Sorulan Sorular

CSV dosyasını Microsoft Office olmadan C# dilinde XLSX'e nasıl dönüştürürsünüz?

CSV dosyasını yüklemek için IronXL'nin WorkBook.LoadCSV yöntemini kullanın, ardından XLSX dosyasını yazmak için workbook.SaveAs('output.xlsx') çağırın. IronXL'nin Microsoft Office veya Open XML SDK gerektirmez -- bu, kendi çözümleyicisini kullanarak Excel dosyalarını okur ve yazar.

CSV'yi Excel'e dönüştürmek için hangi NuGet paketi kullanılır?

IronXL NuGet paketini Visual Studio'da 'Install-Package IronXL' veya .NET CLI'den 'dotnet add package IronXL' kullanarak yükleyin. Paket, .NET Framework 4.6.2+ ve tüm .NET Core ve .NET 5 ile 10 çalışma zamanlarını hedefler.

IronXL ile bir CSV dosyası yüklerken ayırıcıyı nasıl belirlersiniz?

WorkBook.LoadCSV'ye ListDelimiter parametresini iletin, örneğin: virgülle ayrılmış dosyalar için WorkBook.LoadCSV('data.csv', fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ',') veya noktalı virgülle ayrılmış dosyalar için ListDelimiter: ';'.

IronXL, ASCII olmayan veya uluslararası karakterlere sahip CSV dosyalarını işleyebilir mi?

Evet. LoadCSV'nin encoding parametresine bir System.Text.Encoding örneği iletin. IronXL, çoğu standart dosyalar için UTF-8'yi otomatik olarak algılar. Windows-1252, ISO-8859-1 veya başka kodlamalar için, uluslararası karakterleri korumak için kodlamayı açıkça belirtin.

IronXL kullanarak CSV verilerinden oluşturulan bir Excel dosyasına grafik nasıl eklersiniz?

CSV'yi yükledikten sonra, worksheet.CreateChart(ChartType.Column, top, left, bottom, right) çağrısı ile bir grafik oluşturun, ardından hücre aralıklarını bağlamak için chart.AddSeries kullanın ve kaydetmeden önce chart.Plot() çağrısını yapın. IronXL, sütun, çubuk, çizgi, alan ve pasta grafik türlerini destekler.

ASP.NET Core'da bir HTTP yanıtı için oluşturulan XLSX dosyasını MemoryStream'e nasıl kaydedersiniz?

Stream bir MemoryStream örneği olduğunda workbook.SaveAs(stream) çağrısını yapın, ardından sıfıra ayarlamadan önce stream.Position değerini sıfırlayın. Bir ASP.NET Core denetleyicisinde, File(stream, 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'report.xlsx') olarak döndürün.

IronXL, Excel'e yazmadan önce CSV verilerini bir DataTable'a dönüştürebilir mi?

Evet. LoadCSV ile CSV'yi yükledikten sonra, workbook.DefaultWorkSheet.ToDataTable(true) çağrısını yaparak bir DataTable'a dışa aktarın. Verileri filtreledikten veya dönüştürdükten sonra, yeni bir çalışma kitabı oluşturun ve değiştirilmiş verileri içe aktarmak için outputSheet.LoadFromDataTable(table, true) çağrısını yapın.

IronXL, CSV'den dönüştürüldüğünde birden çok çalışma sayfasını destekler mi?

Evet. Bir CSV dosyasını yükledikten sonra, çalışma kitabında varsayılan bir sayfa bulunur. Ek sayfalar eklemek için workbook.CreateWorkSheet('SheetName') çağrısını yapın. Sayfalar, standart Excel çapraz sayfa formül sözdizimi kullanarak birbirine referans verebilir.

IronXL hangi .NET sürümlerini ve platformlarını destekler?

IronXL, .NET Framework 4.6.2 ve sonrasını, .NET Core 3.1 ve .NET 5'ten .NET 10'a kadar olan sürümleri destekler. Windows, Linux, macOS, Docker ve Azure üzerinde çalışır, bu nedenle hem masaüstü hem de sunucu tarafı dağıtımlar için uygundur.

CSV dönüşümünden sonra kalın başlıklar ve sayı biçimleri gibi hücre biçimlendirmeyi nasıl uygularsınız?

CSV'yi yükledikten sonra, sheet['A1:Z1'] ile bir Aralığa erişin ve Style.Font.Bold = true, Style.SetBackgroundColor('#hex') veya Style.NumberFormat = '$#,##0.00' ayarlarını yapın. IronXL, hücresel ve aralıklı Tarz özelliği aracılığıyla tam Excel biçimlendirme API'sini sunar.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapı...

Daha Fazla Oku

Iron Destek Ekibi

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