如何使用 IronXL for .NET 在 C# .NET 中编写 CSV.
IronXL for .NET 提供了一种将数据写入 CSV 文件的简单方法,只需一行代码即可加载 Excel 工作簿并将其保存为 CSV 格式,省去了手动解析的过程。
快速入门:使用IronXL将Excel工作簿保存为CSV
本示例展示了如何使用 IronXl.Excel 将现有 Excel 文件转换为 CSV。 加载工作簿并调用SaveAsCsv — 无需手动解析。
如何在 .NET 中写入 CSV 文件
- 添加 IronXL 库
- 使用 C# 创建工作簿
- 将 Excel 工作簿保存为 CSV 文件格式
步骤1
如何将 IronXL 添加到我的项目中?
我应该使用哪种安装方法?
如果您还没有安装 IronXL,请按照以下步骤操作:
- 打开 Visual Studio 并选择"项目"菜单。
- 单击"管理 NuGet 程序包"。
- 搜索
IronXl.Excel。 点击"安装"。
如果我更喜欢命令行怎么办?
在开发人员命令提示符中使用以下命令:
Install-Package IronXL.Excel
在哪里可以找到更多资源?
有关更多教程和指导,请访问https://ironsoftware.com/csharp/excel/docs/。 关于 CSV 读取操作,请参阅我们的如何在 C# 中读取 CSV 文件指南。 下载示例项目 此处。
如何使用教程
如何创建用于 CSV 导出的 Excel 工作簿?
我的工作簿应包含哪些数据?
CSV(逗号分隔值)文件格式简单,具有普遍兼容性,因此被广泛用于应用程序之间的数据交换。 无论是导出数据进行分析、创建报告,还是与其他系统集成,IronXL 都能让整个过程天衣无缝。
首先,创建一个包含示例数据的 Excel 工作簿。 如果您需要帮助以编程方式创建 Excel 文件,请访问我们的 在 .NET 中创建 Excel 文件的教程:
我需要导入哪个命名空间?
添加IronXL命名空间以在C#中写入CSV文件:
using IronXL;
using IronXL;
Imports IronXL
如何将我的工作簿保存为 CSV?
将 Excel 转换为 CSV 需要哪些代码?
以下C#代码演示了使用SaveAs方法将其保存为CSV。此方法自动处理数据类型、特殊字符和格式:
:path=/static-assets/excel/content-code-examples/how-to/csharp-write-to-csv-file-save.cs
using IronXL;
// Load the existing Excel workbook
WorkBook wb = WorkBook.Load("Normal_Excel_File.xlsx"); // Import .xls, .csv, or .tsv file
// Save the workbook as a CSV file with the worksheet name appended
wb.SaveAs("Excel_To_CSV.csv"); // Exported as: Excel_To_CSV.Sheet1.csv
Imports IronXL
' Load the existing Excel workbook
Dim wb As WorkBook = WorkBook.Load("Normal_Excel_File.xlsx") ' Import .xls, .csv, or .tsv file
' Save the workbook as a CSV file with the worksheet name appended
wb.SaveAs("Excel_To_CSV.csv") ' Exported as: Excel_To_CSV.Sheet1.csv
如何将特定工作表保存为 CSV?
在使用多表工作簿时,您可以导出特定的工作表。 IronXL 为这种情况提供了灵活的选择。 在我们的文档中了解更多有关管理工作表的信息:
using IronXL;
// Load workbook and access specific worksheet
WorkBook workBook = WorkBook.Load("MultiSheet_Excel.xlsx");
WorkSheet sheet = workBook.GetWorkSheet("Sales_Data");
// Save only the specific worksheet as CSV
sheet.SaveAsCsv("Sales_Data_Export.csv");
// Alternatively, save with custom delimiter
sheet.SaveAsCsv("Sales_Data_Tab.tsv", delimiter: "\t");
using IronXL;
// Load workbook and access specific worksheet
WorkBook workBook = WorkBook.Load("MultiSheet_Excel.xlsx");
WorkSheet sheet = workBook.GetWorkSheet("Sales_Data");
// Save only the specific worksheet as CSV
sheet.SaveAsCsv("Sales_Data_Export.csv");
// Alternatively, save with custom delimiter
sheet.SaveAsCsv("Sales_Data_Tab.tsv", delimiter: "\t");
Imports IronXL
' Load workbook and access specific worksheet
Dim workBook As WorkBook = WorkBook.Load("MultiSheet_Excel.xlsx")
Dim sheet As WorkSheet = workBook.GetWorkSheet("Sales_Data")
' Save only the specific worksheet as CSV
sheet.SaveAsCsv("Sales_Data_Export.csv")
' Alternatively, save with custom delimiter
sheet.SaveAsCsv("Sales_Data_Tab.tsv", delimiter:=vbTab)
CSV 输出是什么样的?
输出的 CSV 文件在文本编辑器中打开时显示如下。 请注意 IronXL 是如何使用逗号作为分隔符正确格式化数据并处理包含特殊字符的文本字段的:
如何处理多个工作表?
当您的 Excel 文件包含多个工作表时,IronXl.Excel 可提供多种 CSV 导出方法。 在我们的综合指南中了解更多有关 转换电子表格文件类型的信息:
using IronXL;
using System;
// Load workbook with multiple sheets
WorkBook workBook = WorkBook.Load("MultipleSheets.xlsx");
// Method 1: Export all sheets to separate CSV files
foreach (WorkSheet sheet in workBook.WorkSheets)
{
string fileName = $"{sheet.Name}_Export.csv";
sheet.SaveAsCsv(fileName);
Console.WriteLine($"Exported {sheet.Name} to {fileName}");
}
// Method 2: Combine all sheets into one CSV
var combinedData = workBook.GetWorkSheet(0);
for (int i = 1; i < workBook.WorkSheets.Count; i++)
{
var currentSheet = workBook.GetWorkSheet(i);
// Add logic to append data from currentSheet to combinedData
}
combinedData.SaveAsCsv("Combined_Output.csv");
using IronXL;
using System;
// Load workbook with multiple sheets
WorkBook workBook = WorkBook.Load("MultipleSheets.xlsx");
// Method 1: Export all sheets to separate CSV files
foreach (WorkSheet sheet in workBook.WorkSheets)
{
string fileName = $"{sheet.Name}_Export.csv";
sheet.SaveAsCsv(fileName);
Console.WriteLine($"Exported {sheet.Name} to {fileName}");
}
// Method 2: Combine all sheets into one CSV
var combinedData = workBook.GetWorkSheet(0);
for (int i = 1; i < workBook.WorkSheets.Count; i++)
{
var currentSheet = workBook.GetWorkSheet(i);
// Add logic to append data from currentSheet to combinedData
}
combinedData.SaveAsCsv("Combined_Output.csv");
Imports IronXL
Imports System
' Load workbook with multiple sheets
Dim workBook As WorkBook = WorkBook.Load("MultipleSheets.xlsx")
' Method 1: Export all sheets to separate CSV files
For Each sheet As WorkSheet In workBook.WorkSheets
Dim fileName As String = $"{sheet.Name}_Export.csv"
sheet.SaveAsCsv(fileName)
Console.WriteLine($"Exported {sheet.Name} to {fileName}")
Next
' Method 2: Combine all sheets into one CSV
Dim combinedData = workBook.GetWorkSheet(0)
For i As Integer = 1 To workBook.WorkSheets.Count - 1
Dim currentSheet = workBook.GetWorkSheet(i)
' Add logic to append data from currentSheet to combinedData
Next
combinedData.SaveAsCsv("Combined_Output.csv")
性能考虑因素?
对于大型 Excel 文件,IronXl.Excel 可提供高效的流功能,最大限度地减少内存占用。 在处理大量数据集时,请使用 IronXL 的优化方法。 有关高级场景,请参阅我们的 将数据导出为各种格式的指南。
我可以使用 DataTables 吗?
IronXL for .NET 与 .NET 的 DataTable 结构无缝集成,可轻松从数据库或内存集合中导出数据。 请参阅我们的 将 DataTable 转换为 CSV 的教程:
using IronXL;
using System.Data;
// Create a DataTable with sample data
DataTable dataTable = new DataTable();
dataTable.Columns.Add("ID", typeof(int));
dataTable.Columns.Add("Name", typeof(string));
dataTable.Columns.Add("Price", typeof(decimal));
// Add sample rows
dataTable.Rows.Add(1, "Product A", 29.99m);
dataTable.Rows.Add(2, "Product B", 49.99m);
// Convert DataTable to WorkSheet
WorkBook workBook = WorkBook.Create();
WorkSheet sheet = workBook.CreateWorkSheet("Products");
sheet.InsertDataTable(dataTable, "A1");
// Save as CSV
workBook.SaveAsCsv("Products.csv");
using IronXL;
using System.Data;
// Create a DataTable with sample data
DataTable dataTable = new DataTable();
dataTable.Columns.Add("ID", typeof(int));
dataTable.Columns.Add("Name", typeof(string));
dataTable.Columns.Add("Price", typeof(decimal));
// Add sample rows
dataTable.Rows.Add(1, "Product A", 29.99m);
dataTable.Rows.Add(2, "Product B", 49.99m);
// Convert DataTable to WorkSheet
WorkBook workBook = WorkBook.Create();
WorkSheet sheet = workBook.CreateWorkSheet("Products");
sheet.InsertDataTable(dataTable, "A1");
// Save as CSV
workBook.SaveAsCsv("Products.csv");
Imports IronXL
Imports System.Data
' Create a DataTable with sample data
Dim dataTable As New DataTable()
dataTable.Columns.Add("ID", GetType(Integer))
dataTable.Columns.Add("Name", GetType(String))
dataTable.Columns.Add("Price", GetType(Decimal))
' Add sample rows
dataTable.Rows.Add(1, "Product A", 29.99D)
dataTable.Rows.Add(2, "Product B", 49.99D)
' Convert DataTable to WorkSheet
Dim workBook As WorkBook = WorkBook.Create()
Dim sheet As WorkSheet = workBook.CreateWorkSheet("Products")
sheet.InsertDataTable(dataTable, "A1")
' Save as CSV
workBook.SaveAsCsv("Products.csv")
如何设置许可?
在部署 CSV 导出解决方案之前,请正确配置 IronXL 许可证。 请访问我们的使用许可证密钥指南,了解在不同环境中应用许可证的相关信息。
库快速访问
IronXL API 参考文档
了解更多并分享如何使用IronXL API参考文档合并、取消合并和处理Excel电子表格中的单元格。有关详细的方法签名和附加的CSV导出选项,请参阅我们的API参考。
IronXL API 参考文档 Also refer to our [API Reference](https://ironsoftware.com/csharp/excel/object-reference/api/) for full details.常见问题解答
如何在不进行手动解析的情况下用 C# 编写 CSV 文件?
IronXL.Excel 提供了一个简单的单行解决方案,通过加载 Excel 工作簿并使用 SaveAsCsv 方法将其保存为 CSV 格式,从而无需手动解析或复杂的字符串操作,即可用 C# 编写 CSV 文件。
在 .NET 中将 Excel 转换为 CSV 的最快方法是什么?
有了 IronXL,您只需一行代码就能将 Excel 文件转换为 CSV:IronXl.WorkBook.Load("MyExcel.xlsx").SaveAsCsv("MyExcel.csv")。这将自动处理所有数据类型、特殊字符和格式。
如何安装用于在 C# 中编写 CSV 文件的库?
您可以通过 Visual Studio 的 NuGet 包管理器搜索 "IronXL.Excel "来安装 IronXL,也可以使用开发人员命令提示符,输入相应的安装命令来安装 IronXL。
CSV 操作需要导入哪个命名空间?
要使用 IronXL 编写 CSV 文件,您需要在 C# 文件顶部添加 "using IronXL;",从而导入 IronXL 命名空间。
能否将特定工作表保存为 CSV 格式?
是的,IronXL.Excel 允许您将 Excel 工作簿中的单个工作表保存为 CSV 格式,让您可以灵活地只导出所需的数据而不是整个工作簿。
转换为 CSV 时支持哪些数据格式?
在将 Excel 工作簿转换为 CSV 格式时,IronXL.Excel 会自动处理各种数据类型,包括文本、数字、日期和特殊字符,确保整个转换过程中的数据完整性。

