跳至頁尾內容
USING IRONXL

C# CSV 轉 XLSX:將 CSV 檔案轉換為 Excel 格式

將CSV文件轉換為XLSX格式可解鎖逗號分隔值文件無法提供的電子表格功能。雖然CSV儲存原始表格資料,但Excel的XLSX格式支持公式、多個工作表、圖表、單元格格式和資料驗證——這些都是現代業務應用程式所需的功能。 使用正確的程式庫,轉換過程非常簡單,只需幾行C#程式碼。

IronXL是一個.NET程式庫,可以直接處理這種轉換,無需Microsoft Office或Open XML SDK。 它會讀取源CSV文件,解析分隔資料,並寫入完全符合規範的XLSX工作簿。 透過NuGet安裝並開始免費試用以下程式碼範例。

如何在C#中將CSV文件轉換為XLSX格式?

核心轉換需要載入CSV文件並保存為Excel格式。 IronXL提供WorkBook.LoadCSV,它解析分隔的源,並建立一個可以導出的工作簿。 該方法接受文件路徑、目標Excel格式和分隔符字元。

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

輸出

C# CSV至XLSX:完整開發者指南:圖像1 - CSV轉Excel轉換的範例輸出

LoadCSV方法接受三個關鍵參數:文件名、目標Excel格式常數以及源文件中使用的分隔符。此方法在建立結構化的XLSX文件的同時保留原始CSV工作表中的所有字串資料和數字值。WorkBook類別作為所有電子表格操作的中央樞紐。 一旦載入,CSV資料即可通過工作表存取,從而在保存最終Excel文件之前進行進一步操作。

要載入現有XLSX文件而不是CSV,請使用WorkBook.Load("file.xlsx"),它會自動根據文件擴展名檢測格式。 這使得構建可接受CSV或Excel輸入並將其標準化為單一輸出格式的管道變得簡單。

將CSV轉換為Excel格式有什麼好處?

XLSX格式在大多數資料管理方案中相較於簡單的CSV提供了可以衡量的優勢:

  • 多個工作表:Excel文件支持在單個工作簿內多個工作表,這使得資料儲存比CSV文件更有條理。 單個XLSX文件可以包含數十個工作表,涵蓋不同的時期、地區或類別。
  • 公式支持:將復雜的計算、匯總和條件邏輯直接寫入單元格。 當源資料發生更改時,Excel公式會自動重新計算,消除了手動重新處理CSV文件的需要。
  • 視覺化圖表:可以從工作表資料建立條形圖、折線圖、餅圖和其他可視化。 IronXL支持直接通過API進行圖表建立,因此圖表嵌入在XLSX文件中。
  • 單元格格式化:控制字體、顏色、邊框和數字格式,以製作專業文件。 CSV文件只儲存原始值; XLSX在資料旁邊保留顯示層。
  • 資料驗證:限制單元格輸入只能是特定值或範圍,防止與終端使用者共享的文件中出現資料輸入錯誤。
  • 密碼保護:用密碼保護工作表和工作簿,以控制讀取和寫入權限,這是CSV中完全不存在的功能。

這些功能使XLSX格式成為報告、儀表盤、財務模型以及任何需要超過原始資料儲存的應用的標準選擇。

如何在.NET專案中安裝IronXL?

IronXL作為NuGet包發佈。 從Visual Studio中的程式包管理器控制台安裝它:

Install-Package IronXL.Excel

或者使用.NET CLI:

dotnet add package IronXL.Excel

安裝後,在任何處理電子表格的文件中新增using IronXL;。 該包目標.NET Framework 4.6.2+、.NET Core 3.1+、.NET 5至.NET 10,並支持Windows、Linux、macOS、Docker和Azure部署環境。

不需要額外的運行時依賴或Microsoft Office安裝。 IronXL使用自己的解析器和寫入器讀寫XLSX文件,適合無法安裝Office的伺服器端和無頭部署。

在轉換過程中如何處理CSV編碼?

許多CSV文件來自於舊系統、國際資料庫或使用非ASCII字元的第三方導出。 正確處理編碼可確保特殊字元和國際文字在生成的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");
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

輸出XLSX文件

C# CSV至XLSX:完整開發者指南:圖像2 - CSV至XLSX處理了所有編碼的情況

IronXL自動檢測常見的編碼格式,包括大多數標準CSV文件的UTF-8。 對於具有非標準編碼的文件,如Windows-1252、ISO-8859-1或Shift-JIS,請將LoadCSV調用。 Microsoft Learn上的Encoding類別文件列出了所有支持的編碼名稱。

從遠程伺服器獲取CSV資料時,使用LoadCSV載入。 此模式適用於雲端託管的.NET應用程式,CSV文件作為HTTP響應從第三方API到達。

在CSV轉換後如何應用單元格格式化?

原始CSV資料不包含格式化資訊。 轉換為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");
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提供單元格和範圍樣式通過Style屬性,其樣式選項與Excel UI中可用的格式化選項相似。 數字格式遵循Microsoft記錄的Excel數字格式語法SetBackgroundColor方法接受十六進制顏色字串,使得將品牌顏色應用於生成的報告變得簡單。 查看完整的單元格格式化API參考以獲取可用的樣式屬性。

如何在轉換CSV資料後新增圖表?

一旦CSV資料存在於Excel工作簿中,IronXL可以直接從資料中建立圖表。 圖表通過無需在伺服器上安裝Microsoft Excel即可將原始資料轉換為視覺化見解。

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

輸出

C# CSV至XLSX:完整開發者指南:圖像3 - CSV文件轉Excel文件並附帶圖表的輸出

CreateChart方法接受圖表型別和四個定位參數(頂行、左列、底行、右列)。 AddSeries方法將工作表單元格範圍連接到圖表軸,建立在基礎資料更改時更新的動態視覺化。 IronXL通過ChartType枚舉支持柱形圖、條形圖、折線圖、面積圖和餅圖型別。 欲了解支持的全面圖表配置列表,請參見<IronXL圖表教程。

如何將CSV轉換為DataTable,然後轉換為Excel?

對於需要在導出之前進行資料操作的場景,通過DataTable轉換CSV資料可以提供最大的靈活性。 此方法使開發者可以在轉換過程中使用標準.NET資料存取模式篩選、轉換、排序或驗證行。

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

輸出

C# CSV至XLSX:完整開發者指南:圖像4 - CSV到DataTable到XLSX的輸出

ToDataTable方法將工作表資料導出為.NET DataTable,而布林參數控制是否將第一行視為列標題。 true時,將列標題作為第一行寫入。 此雙向轉換使得在CSV攝取和Excel輸出之間完全使用LINQ和ADO.NET操作成為可能。 查看<IronXL DataTable文件以獲取更多選項。

如何將XLSX文件保存到流而不是文件路徑?

伺服器端應用程式通常需要將Excel文件直接傳送給HTTP響應,而不是寫入臨時文件到磁碟。 IronXL支持將工作簿保存到MemoryStream以用於此目的。

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

保存到流避免磁盤讀寫操作,並消除了清理臨時文件的需要。 此模式在<Asp.NET Core文件下載端點中被廣泛使用,該端點在需要時生成XLSX。 SaveAs(Stream)重載將完整、有效的XLSX檔案寫入任何可寫流實例。

如何在轉換的工作簿中處理多個工作表?

單個XLSX工作簿可以包含多個工作表。 轉換CSV文件後,工作簿預設持有一個工作表。 可以通過程式建立其他工作表以組織相關資料。

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方法向工作簿中新增新空白工作表。 通過workbook.WorkSheets可以按名字或索引存取工作表。 跨工作表的公式引用使用標準Excel標注法'SheetName'!CellRef。 更多多工作表操作,請參見<IronXL多工作表指南。

您接下來的步驟是什麼?

使用C#和IronXL將CSV文件轉換為XLSX僅需幾行程式碼,並生成完全合規的Excel工作簿,不需依賴於Microsoft Office。 上面的範例涵蓋了完整的工作流程——從基本的CSV載入和保存到編碼處理、單元格格式化、圖表建立、DataTable整合、流輸出和多工作簿。

本指南涉及的關鍵功能:

  • 基礎的CSV到XLSX轉換,使用SaveAs
  • 國際字元集的編碼指定。
  • 在轉換後應用的單元格和範圍格式化。
  • 直接嵌入在XLSX文件中的圖表建立。
  • 過濾和轉換資料的DataTable回圈。
  • 用於伺服器端文件傳輸的記憶體流輸出。
  • 從單個CSV來源構建多工作簿。

IronXL在.NET Framework、.NET Core和.NET 5到10跨平臺支持Windows、Linux、macOS、Docker和Azure部署。更多功能,請查看<IronXL文件、瀏覽Excel API物體參考,或查看<IronXL怎樣做指南,如<讀取Excel文件、<合併單元格和<載入電子表格。 下載試用版以在開發環境中測試所有功能,或購買授權以進行生產部署。

現在開始使用IronXL。
green arrow pointer

常見問題

如何在 C# 中不需 Microsoft Office 將 CSV 檔案轉換為 XLSX?

using IronXL 的 WorkBook.LoadCSV 方法載入 CSV 檔案,然後調用 workbook.SaveAs('output.xlsx')來寫入 XLSX 檔案。IronXL 不需要 Microsoft Office 或 Open XML SDK——它使用自己的解析器讀寫 Excel 檔案。

在 C# 中將 CSV 轉換為 Excel 使用哪個 NuGet 套件?

在 Visual Studio 中使用 'Install-Package IronXL' 或從 .NET CLI 使用 'dotnet add package IronXL' 安裝 IronXL NuGet 套件。該套件目標是 .NET Framework 4.6.2+ 和所有 .NET Core 和 .NET 5 到 10 的運行時。

在使用 IronXL 載入 CSV 檔案時如何指定分隔符?

將 ListDelimiter 參數傳遞給 WorkBook.LoadCSV,例如:對於逗號分隔的檔案使用 ListDelimiter: ',' 或對於分號分隔的檔案使用 ListDelimiter: ';'。

IronXL 能夠處理包含非 ASCII 或國際字元的 CSV 檔案嗎?

是的。將 System.Text.Encoding 實例傳遞給 LoadCSV 的 encoding 參數。IronXL 自動檢測大多數標準檔案的 UTF-8。如果是 Windows-1252、ISO-8859-1 或其他編碼,請顯示指定編碼以保留國際字元。

如何使用 IronXL 將從 CSV 資料生成的 Excel 檔案中新增一個圖表?

在載入 CSV 之後,調用 worksheet.CreateChart(ChartType.Column, top, left, bottom, right) 來建立一個圖表,然後使用 chart.AddSeries 來連接單元格範圍,並在保存之前調用 chart.Plot()。IronXL 支援柱狀、條形、折線、面積和餅狀圖表型別。

如何將生成的 XLSX 檔案保存到 MemoryStream 以便在 ASP.NET Core 中的 HTTP 回應中使用?

調用 workbook.SaveAs(stream),其中 stream 是一個 MemoryStream 實例,然後將 stream.Position 重設為 0 以返回。在 ASP.NET Core 控制器中,返回 File(stream, 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'report.xlsx')。

IronXL 能夠將 CSV 資料轉換為 DataTable 然後寫入 Excel 嗎?

可以。使用 LoadCSV 載入 CSV,然後調用 workbook.DefaultWorkSheet.ToDataTable(true) 以匯出為 DataTable。在過濾或轉換資料後,建立一個新的活頁簿,並調用 outputSheet.LoadFromDataTable(table, true) 來導入修改後的資料。

IronXL 在從 CSV 轉換時是否支援多個工作表?

是的。在載入 CSV 檔案後,活頁簿包含一個預設的工作表。調用 workbook.CreateWorkSheet('SheetName') 來新增附加工作表。工作表可以使用標準的 Excel 跨表格公式語法互相引用。

IronXL 支援哪些 .NET 版本和平台?

IronXL 支援 .NET Framework 4.6.2 及更高版本,.NET Core 3.1 和 .NET 5 到 .NET 10。它可在 Windows、Linux、macOS、Docker 和 Azure 上運行,使其適合用於桌面和伺服器端部署。

在 CSV 轉換後如何應用單元格格式,例如加粗標題和數字格式?

在載入 CSV 後,通過使用 sheet['A1:Z1'] 存取一個範圍,並設置 Style.Font.Bold = true, Style.SetBackgroundColor('#hex'), 或 Style.NumberFormat = '$#,##0.00'。IronXL 通過單元格和範圍的 Style 屬性暴露完整的 Excel 風格 API。

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

除了開發,Curtis對物聯網(IoT)有濃厚的興趣,探索創新的方法來整合硬體和軟體。在空閒時間,他喜歡玩遊戲和建立Discord機器人,結合他對技術的熱愛與創造力。

Iron 支援團隊

我們線上24小時,每週5天。
聊天
電子郵件
給我打電話