如何用 C# 将 XLSX 转换为 CSV、JSON、XML 及更多内容
IronXL 将Excel文件转换为多种格式,包括JSON、CSV、XML以及旧的Excel格式如XLS,使用简单的单行命令,消除了手动解析的需要。
IronXL 将任意Excel文件转为多种格式,为开发者提供无需使用Interop就能在C#中处理Excel的工具。 无论是系统间的数据迁移,为web应用创建数据导出,还是与遗留系统集成,IronXL 简化了转换过程。
这些格式包括用于现代 Web API 的 JSON、用于数据交换的 CSV、用于结构化数据存储的 XML 以及用于向后兼容的旧 Excel 格式(如 XLS)。 每种格式都有特定的用例--CSV 适用于数据库导入,JSON 与 REST API 集成,XML 维护分层数据关系。
本文演示如何使用IronXL 将文件转换为XML、CSV、JSON,并将Excel工作表导出为数据集以便与.NET数据控件直接集成。
快速入门:一行代码将XLSX转换为CSV
此示例展示了IronXL 如何将现有的Excel工作簿在一行代码中转换为CSV文件。加载您的工作簿并直接将其保存为CSV以立即开始。
最小工作流程(5 个步骤)
- 下载 C# 库,用于将 XLSX 转换为 CSV
- 加载现有的 XLSX Excel 电子表格
- 访问或修改工作簿
- 导出为 CSV 文件或其他几种格式,包括 JSON、TSV 和 XML
- 检查输出文件并进行进一步处理
步骤1
如何安装 IronXL 库?
首先,安装IronXL 然后在您的应用程序中使用。 IronXL 支持.NET MAUI,Blazor和传统.NET应用程序。 使用以下任一种安装方法:
下载地址: https://ironsoftware.com/csharp/excel/docs/
或使用 NuGet 软件包管理器:
在解决方案资源管理器中,右键单击解决方案名称。
- 点击管理NuGet包
- 浏览
IronXl.Excel - 安装
Install-Package IronXL.Excel
如何使用教程
如何将 Excel 文件转换为不同格式?
IronXL 提供转换能力,可以自动处理复杂的解析和格式化。
添加以下代码:
:path=/static-assets/excel/content-code-examples/how-to/csharp-convert-xlsx-csv-convert.cs
using IronXL;
// Load an existing Excel workbook
WorkBook workbook = WorkBook.Load("Normal_Excel_File.xlsx");
// Set metadata title for the workbook
workbook.Metadata.Title = "Normal_Excel_File.xlsx";
// Save the workbook in different formats
workbook.SaveAs("XLS_Export.xls");
workbook.SaveAs("XLSX_Export.xlsx");
workbook.SaveAsCsv("CSV_Export.csv");
workbook.SaveAsJson("JSON_Export.json");
workbook.SaveAsXml("XML_Export.xml");
// Convert the workbook to a DataSet, allowing integration with other data tools like DataGridView
System.Data.DataSet dataSet = workbook.ToDataSet();
Imports IronXL
' Load an existing Excel workbook
Dim workbook As WorkBook = WorkBook.Load("Normal_Excel_File.xlsx")
' Set metadata title for the workbook
workbook.Metadata.Title = "Normal_Excel_File.xlsx"
' Save the workbook in different formats
workbook.SaveAs("XLS_Export.xls")
workbook.SaveAs("XLSX_Export.xlsx")
workbook.SaveAsCsv("CSV_Export.csv")
workbook.SaveAsJson("JSON_Export.json")
workbook.SaveAsXml("XML_Export.xml")
' Convert the workbook to a DataSet, allowing integration with other data tools like DataGridView
Dim dataSet As System.Data.DataSet = workbook.ToDataSet()
上面的代码加载了一个 XLSX 文件,添加了一个标题,然后将其转换为多种格式。 在转换为CSV时,IronXL 处理特殊字符、多行单元格和正确的转义。 对于 JSON 导出,它可以创建电子表格数据的结构化对象表示。 XML转换保留单元格格式和数据类型。最后,它将Worksheet 导出为DataSet 以便与DataGridView 对象一起使用,这在使用DataTables时效果很好。
下面是另一个示例,展示了如何使用自定义选项转换特定工作表:
using IronXL;
// Load workbook and select specific worksheet
WorkBook workbook = WorkBook.Load("MultiSheet.xlsx");
WorkSheet sheet = workbook.WorkSheets["SalesData"];
// Convert just one worksheet to CSV with custom delimiter
sheet.SaveAsCsv("SalesData.csv", delimiter: ";");
// Export to JSON with formatting preserved
var jsonOptions = new JsonSaveOptions
{
PreserveFormatting = true,
IncludeHeaders = true
};
sheet.SaveAsJson("SalesData.json", jsonOptions);
// Convert to XML with custom root element
sheet.SaveAsXml("SalesData.xml", "SalesReport");
using IronXL;
// Load workbook and select specific worksheet
WorkBook workbook = WorkBook.Load("MultiSheet.xlsx");
WorkSheet sheet = workbook.WorkSheets["SalesData"];
// Convert just one worksheet to CSV with custom delimiter
sheet.SaveAsCsv("SalesData.csv", delimiter: ";");
// Export to JSON with formatting preserved
var jsonOptions = new JsonSaveOptions
{
PreserveFormatting = true,
IncludeHeaders = true
};
sheet.SaveAsJson("SalesData.json", jsonOptions);
// Convert to XML with custom root element
sheet.SaveAsXml("SalesData.xml", "SalesReport");
Imports IronXL
' Load workbook and select specific worksheet
Dim workbook As WorkBook = WorkBook.Load("MultiSheet.xlsx")
Dim sheet As WorkSheet = workbook.WorkSheets("SalesData")
' Convert just one worksheet to CSV with custom delimiter
sheet.SaveAsCsv("SalesData.csv", delimiter:=";")
' Export to JSON with formatting preserved
Dim jsonOptions As New JsonSaveOptions With {
.PreserveFormatting = True,
.IncludeHeaders = True
}
sheet.SaveAsJson("SalesData.json", jsonOptions)
' Convert to XML with custom root element
sheet.SaveAsXml("SalesData.xml", "SalesReport")
对于高级场景,可以同时导出为多种格式或高效处理大文件:
using IronXL;
using System.Threading.Tasks;
// Async conversion for large files
public async Task ConvertLargeFileAsync(string inputPath)
{
WorkBook workbook = WorkBook.Load(inputPath);
// Parallel export to multiple formats
var tasks = new[]
{
Task.Run(() => workbook.SaveAsCsv("output.csv")),
Task.Run(() => workbook.SaveAsJson("output.json")),
Task.Run(() => workbook.SaveAsXml("output.xml"))
};
await Task.WhenAll(tasks);
}
using IronXL;
using System.Threading.Tasks;
// Async conversion for large files
public async Task ConvertLargeFileAsync(string inputPath)
{
WorkBook workbook = WorkBook.Load(inputPath);
// Parallel export to multiple formats
var tasks = new[]
{
Task.Run(() => workbook.SaveAsCsv("output.csv")),
Task.Run(() => workbook.SaveAsJson("output.json")),
Task.Run(() => workbook.SaveAsXml("output.xml"))
};
await Task.WhenAll(tasks);
}
Imports IronXL
Imports System.Threading.Tasks
' Async conversion for large files
Public Async Function ConvertLargeFileAsync(inputPath As String) As Task
Dim workbook As WorkBook = WorkBook.Load(inputPath)
' Parallel export to multiple formats
Dim tasks = New Task() {
Task.Run(Sub() workbook.SaveAsCsv("output.csv")),
Task.Run(Sub() workbook.SaveAsJson("output.json")),
Task.Run(Sub() workbook.SaveAsXml("output.xml"))
}
Await Task.WhenAll(tasks)
End Function
各种导出文件如下所示。
每种转换格式在现代应用程序中都有不同的用途。 CSV 文件非常适用于 将数据导入数据库或数据分析工具。 JSON 格式适合网络 API 和 JavaScript 应用程序。 XML 可维护数据结构,常用于企业系统。 传统的 XLS 格式可确保与需要向后兼容的旧 Excel 版本和系统兼容。
在进行这些转换时,IronXL 会自动处理许多复杂问题:
- 字符编码:正确的 UTF-8 国际字符编码
- 数据类型保存:保持数字、日期和文本格式
- 公式评估:在导出前计算公式结果。
- 大型文件处理:大型电子表格的高效内存使用
- 错误处理:优雅地处理损坏或受保护的文件
对于需要高性能的应用程序或处理文件大小限制的应用,IronXL 提供了优化选项。 您可以将这些转换整合到自动化工作流程、网络服务或桌面应用程序中。
库快速访问
常见问题解答
如何在未安装 Excel 的情况下用 C# 将 XLSX 转换为 CSV?
IronXL 只需一行代码即可将 XLSX 转换为 CSV:IronXl.WorkBook.Load("input.xlsx").SaveAsCsv("output.csv")。该功能无需在系统中安装 Microsoft Excel 或 Interop。
使用 C# 可以将 Excel 文件转换成哪些文件格式?
IronXL.Excel 支持将 Excel 文件转换为多种格式,包括 CSV、JSON、XML、TSV 以及 XLS 等旧版 Excel 格式。每种格式都适用于不同的使用情况--CSV 适用于数据库导入,JSON 适用于 REST API,XML 适用于维护分层数据结构。
如何安装 C# 的 Excel 转换库?
使用 NuGet 软件包管理器搜索 "IronXL.Excel "或通过软件包管理器控制台使用 "Install-Package IronXL "命令安装 IronXL。该库支持 .NET MAUI、Blazor 和传统 .NET 应用程序。
我能否将 Excel 转换为 JSON 以用于网络 API?
是的,IronXL.Excel 提供从 Excel 到 JSON 格式的内置转换,使 Excel 数据与现代网络 API 和 REST 服务轻松集成。转换过程会自动处理复杂的数据结构。
Excel 转换是否能处理特殊字符和格式?
在将 Excel 文件转换为 CSV 等格式时,IronXL.Excel 会自动处理特殊字符、多行单元格和适当的转义字符。这样就无需进行手动解析或格式校正。

