如何使用 IronXL 在 C# 中将电子表格文件转换为 JSON、CSV、XML 等格式

如何使用 IronXL 在 C# 中转换电子表格文件类型。

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronXL 使 C# 开发人员能够使用简单的 Load 和 SaveAs 方法在多种格式(包括 XLS、XLSX、CSV、JSON、XML 和 HTML)之间转换电子表格,从而简化业务应用程序中的文件格式转换。

IronXL 支持在多种格式之间转换电子表格文件,包括 XLS、XLSX、XLSM、XLTX、CSV、TSV、JSON、XML 和 HTML。 它还支持 HTML 字符串、二进制数据、字节数组、DataSets 和 MemoryStreams 等内联代码数据类型。 Load方法用于打开电子表格文件, SaveAs方法用于将电子表格导出为所需的文件类型。

这种灵活性使 IronXL for .NET 成为.NET 开发人员在不同平台和应用程序中处理 C# 中的 Excel 文件的必备工具。 无论您是在构建数据迁移工具、报表系统还是商业智能应用程序,格式之间的无缝转换能力都能确保与各种系统和用户需求的兼容性。

快速入门:将 Excel 电子表格转换为 JSON

只需一行简单的代码,IronXL.Excel 就能加载 Excel 文件并将其导出为 JSON 格式--无需复杂配置,只需快速得到结果。 对于需要快速进行文件类型转换的开发人员来说,这是一个完美的入门范例。

Nuget Icon立即开始使用 NuGet 创建 PDF 文件:

  1. 使用 NuGet 包管理器安装 IronXL

    PM > Install-Package IronXL.Excel

  2. 复制并运行这段代码。

    IronXL.WorkBook.Load("input.xlsx").SaveAsJson("output.json");
  3. 部署到您的生产环境中进行测试

    立即开始在您的项目中使用 IronXL,免费试用!
    arrow pointer


如何转换电子表格文件类型? 转换电子表格类型的过程包括[以一种支持的格式加载文件](https://ironsoftware.com/csharp/excel/how-to/load-spreadsheet/),然后使用 IronXL.Excel 的智能数据重组功能将其导出为另一种格式。 这种转换过程既能保持数据的完整性,又能适应每种目标格式的结构要求。 虽然可以使用`SaveAs`方法导出为 CSV、JSON、XML 和 HTML 格式,但建议使用每种文件格式的专用方法: - `SaveAsCsv` - 针对逗号分隔值进行了优化,并进行了适当的转义处理 - `SaveAsJson` - 创建格式正确的 JSON 并保留数据类型 - `SaveAsXml` - 使用适当的模式生成格式良好的 XML - `ExportToHtml` - 生成保留格式的样式 HTML 表格 对于 CSV、TSV、JSON 和 XML 文件格式,将为每个工作表创建一个单独的文件。 命名约定遵循`fileName.sheetName.format`的格式。 在下面的示例中,CSV 格式的输出将是`sample.new_sheet.csv` 。 ```csharp :path=/static-assets/excel/content-code-examples/how-to/convert-spreadsheet-file-types-different-format.cs ``` 每种导出方法都针对目标格式进行了优化。 例如,[将 XLSX 转换为 CSV](https://ironsoftware.com/csharp/excel/how-to/csharp-convert-xlsx-to-csv/) 会正确处理特殊字符和分隔符,而 JSON 导出会保持数据类型和层次结构。

何时应使用每种格式? 了解何时使用每种文件格式对业务应用至关重要: - **CSV/TSV**:最适用于简单的表格数据、数据库导入或需要与其他应用程序实现最大兼容性的情况 - **JSON**:网络服务、REST API 和现代 JavaScript 应用程序的理想选择 - **XML**:适用于结构化数据交换、配置文件和遗留系统集成 - **HTML**:非常适合在网站上显示数据或生成用于电子邮件发送的报告

有哪些高级转换选项? 在上一节中,我们探讨了最常见的转换文件格式。 但是,IronXL 能够将电子表格转换为更多格式。 探索加载和导出电子表格的所有可用选项,包括用于数据库操作的 [ 导出到 DataSet 和 DataTable](https://ironsoftware.com/csharp/excel/how-to/export-dataset-datatable/) 等高级场景。

我可以加载哪些文件格式? - XLS、XLSX、XLSM 和 XLTX - CSV(逗号分隔值) - TSV(制表符分隔值)

我可以导出到哪些格式? - XLS、XLSX 和 XLSM - CSV 和 TSV - JSON - XML - HTML - 内联代码数据类型: - HTML 字符串 - 二进制和字节数组 - 数据集:将 Excel 导出为 `System.Data.DataSet` 和 `System.Data.DataTable` 对象可轻松实现与 DataGrids、SQL 和 EF 的互操作或集成。 - 内存流 内联代码数据类型可以作为 RESTful API 响应发送,也可以与 IronPDF 一起使用,将其转换为 PDF 文档。 这种灵活性在[在网络应用程序中动态创建电子表格](https://ironsoftware.com/csharp/excel/how-to/create-spreadsheet/)时尤其有用。 ```csharp :path=/static-assets/excel/content-code-examples/how-to/convert-spreadsheet-file-types-different-format-advanced.cs ``` 上面的代码加载一个普通的 XLSX 文件,然后将其转换并导出为多种格式。 有关文件转换的综合示例,请访问我们的 [ 转换示例页面](https://ironsoftware.com/csharp/excel/examples/convert-excel-spreadsheet/)。

转换后的输出是什么样的?
Excel 雇员数据库电子表格,包含多列薪资、人口统计和地点数据
XLSX 文件
下面列出了导出的各种文件。
包含员工数据的 TSV 文件,在文本编辑器中显示 ID、姓名、职位名称、部门、薪资和人口统计列
TSV 文件导出
包含员工数据的 CSV 文件,在代码编辑器中显示 ID、姓名、职位名称、部门、薪资和地点列
CSV 文件导出
VS 代码编辑器显示 JSON 雇员数据文件,包含标题字段和示例记录,包括 ID、姓名、职位名称
JSON 文件导出
显示员工数据结构的 XML 文件,其中包含 ID、姓名、职位名称、部门和其他人力资源字段列
XML 文件导出
员工数据库电子表格,显示 ID、姓名、职称、部门、人口统计和薪酬等人事数据
HTML 文件导出
## 文件转换的最佳实践 在转换电子表格文件时,请考虑以下最佳实践,以确保达到最佳效果: 1.**保持数据的完整性**:始终确保关键数据、公式和格式在转换后保持不变。 某些格式(如 CSV)不支持多页或格式化。 2.**高效处理大型文件**:对于大型电子表格,可考虑使用流式方法或分块处理数据,以有效管理内存使用。 3.**错误处理**:实施正确的错误处理以捕捉转换失败: ```csharp try { WorkBook workbook = WorkBook.Load("input.xlsx"); // Check if the file has data before converting if (workbook.WorkSheets.Count > 0 && workbook.DefaultWorkSheet.RowCount > 0) { workbook.SaveAsCsv("output.csv"); Console.WriteLine("Conversion successful!"); } else { Console.WriteLine("No data found in the spreadsheet."); } } catch (Exception ex) { Console.WriteLine($"Conversion failed: {ex.Message}"); } ``` 4.**选择正确的格式**:根据您的具体需求选择输出格式: - 使用 `XLSX` 获得完整的 Excel 功能 - 选择 `CSV` 进行简单的数据交换 - 为网络应用程序和 API 选择 `JSON` - 选取<代码>XML作为具有模式的结构化数据 - 导出为 `HTML` 以用于网页显示 5.**字符编码**:注意字符编码,尤其是在处理国际数据时。 IronXL 默认处理`UTF-8`编码,确保在不同系统中都能正确显示字符。 有关在 .NET 应用程序中处理 Excel 文件的更详细指导,请浏览全面的 [IronXL 文档](https://ironsoftware.com/csharp/excel/docs/)。

常见问题解答

如何用 C# 将 Excel 文件转换为 CSV 格式?

使用 IronXL.Excel,您可以使用 SaveAsCsv 方法将 Excel 文件转换为 CSV。只需使用 WorkBook.Load() 加载 Excel 文件,然后调用 SaveAsCsv() 将其导出即可。IronXL 会自动处理适当的转义和格式化,为 Excel 文件中的每个工作表创建单独的 CSV 文件。

能否同时将多个 Excel 工作表转换为 JSON?

是的,IronXL 在导出为 JSON 格式时会自动转换所有工作表。使用 SaveAsJson 方法时,IronXL 会按照命名约定 fileName.sheetName.json 为每个工作表创建单独的 JSON 文件,保留每个工作表的数据类型和结构。

支持哪些电子表格文件格式的转换?

IronXL 支持多种格式之间的转换,包括 XLS、XLSX、XLSM、XLTX、CSV、TSV、JSON、XML 和 HTML。此外,它还支持 HTML 字符串、二进制数据、字节数组、DataSets 和 MemoryStreams 等内联代码数据类型,可最大限度地提高 C# 应用程序的灵活性。

转换为 HTML 时如何保留 Excel 格式?

将 Excel 转换为 HTML 时,请使用 IronXL.Excel 的 ExportToHtml 方法,而不是通用的 SaveAs 方法。这种专用方法可生成保留原始 Excel 文件格式的 HTML 风格表格,从而确保不同格式的数据显示保持一致。

在没有安装 Microsoft Office 的情况下,可以转换 Excel 文件吗?

是的,IronXL 可独立运行,无需 Microsoft Office 或 Excel Interop。它为用 C# 转换 Excel 文件提供了一个独立的解决方案,因此非常适合服务器环境和无法安装 Office 的应用程序。

将 Excel 文件转换为其他格式的最简单方法是什么?

IronXL 最简单的方法是使用一行代码:IronXL.WorkBook.Load("input.xlsx").SaveAsJson("output.json")。这将加载 Excel 文件并立即将其导出为所需格式--根据需要将 SaveAsJson 替换为 SaveAsCsv、SaveAsXml 或 ExportToHtml。

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。

准备开始了吗?
Nuget 下载 1,802,965 | 版本: 2025.12 刚刚发布