如何用 C# 将 XLSX 转换为 CSV、JSON、XML 及更多内容
IronXL将Excel文件转换为包括JSON、CSV、XML和旧版Excel格式(如XLS),使用简单的单行命令消除手动解析。
IronXL将任何Excel文件转换为多种格式,为开发人员提供在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转换保留单元格格式和数据类型。最后,将DataGridView对象使用,这在使用DataTables时效果很好。
下面是另一个示例,展示了如何使用自定义选项转换特定工作表:
:path=/static-assets/excel/content-code-examples/how-to/csharp-convert-xlsx-to-csv-4.cs
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
sheet.SaveAsJson("SalesData.json");
// Convert to XML
sheet.SaveAsXml("SalesData.xml");
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
sheet.SaveAsJson("SalesData.json")
' Convert to XML
sheet.SaveAsXml("SalesData.xml")
对于高级场景,可以同时导出为多种格式或高效处理大文件:
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。
using C# 可以将 Excel 文件转换成哪些文件格式?
IronXL.Excel 支持将 Excel 文件转换为多种格式,包括 CSV、JSON、XML、TSV 以及 XLS 等旧版 Excel 格式。每种格式都适用于不同的使用情况--CSV 适用于数据库导入,JSON 适用于 REST API,XML 适用于维护分层数据结构。
如何安装 C# 的 Excel 转换库?
using 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 会自动处理特殊字符、多行单元格和适当的转义字符。这样就无需进行手动解析或格式校正。

