如何用 C# 将 XLSX 转换为 CSV、JSON、XML(XLSX文件操作与Excel数据提取)
IronXL.Excel 支持全面的XLSX文件操作,可将 Excel 文件转换为多种格式,包括 JSON、CSV、XML 和 XLS 等旧版 Excel 格式,使用简单的单行命令,无需手动解析,是进行Excel数据提取的理想工具。
IronXL 可将任何 Excel 文件转换为各种格式,为开发人员提供了无需 Interop 即可 在 C# 中使用 Excel 工作的工具。 无论是在系统间迁移数据、为网络应用程序创建数据导出,还是与传统系统集成,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,即可立即开始使用。
- 下载 C# 库,用于将 XLSX 转换为 CSV
- 加载现有的 XLSX Excel 电子表格
- 访问或修改工作簿
- 导出为 CSV 文件或其他几种格式,包括 JSON、TSV 和 XML
- 检查输出文件并进行进一步处理
步骤1
如何安装 IronXL 库?
首先,在应用程序中使用 IronXL 之前,请先安装 IronXL。 IronXL for .NET 支持.NET MAUI、Blazor和传统的 .NET 应用程序。 使用以下任一种安装方法:
下载地址: https://ironsoftware.com/csharp/excel/docs/
或使用 NuGet 软件包管理器:
在解决方案资源管理器中,右键单击解决方案名称。
- 点击管理NuGet包
- 搜索IronXL.Excel
- 安装
Install-Package IronXL.Excel
如何使用教程
如何将 Excel 文件转换为不同格式?
IronXL.Excel 提供转换功能,可自动处理复杂的解析和格式化。
添加以下代码:
: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 转换保留了单元格格式和数据类型。最后,它将工作表导出为 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 提供了优化选项。 您可以将这些转换整合到自动化工作流程、网络服务或桌面应用程序中。
图书馆快速访问
使用便捷的 IronXL API 参考文档,了解更多并分享如何在 Excel 电子表格中合并、取消合并和处理单元格。
IronXL API 参考文档常见问题解答
如何在未安装 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 会自动处理特殊字符、多行单元格和适当的转义字符。这样就无需进行手动解析或格式校正。

