如何使用C#导出Excel数据

C## Export to Excel:完整的开发人员指南

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

使用IronXL在C#中将Excel文件导出为多种格式,包括.json,无需Microsoft Office依赖。 该库为每种导出格式提供了单行方法。

快速开始:在一行中导出工作簿到 JSON

利用 IronXL.Excel 的 API,只需一行即可加载您现有的 Excel 文件并将其导出为 JSON 格式。 开始导出 Excel 文件,无需编写模板代码。

  1. 使用 NuGet 包管理器安装 https://www.nuget.org/packages/IronXL.Excel

    PM > Install-Package IronXL.Excel
  2. 复制并运行这段代码。

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

    通过免费试用立即在您的项目中开始使用IronXL

    arrow pointer

步骤1

如何安装 IronXL 以导出 Excel 文件?

IronXL.Excel 提供了在 .NET 应用程序中处理 Excel 文件的直接方法。 直接下载 IronXL DLL通过 NuGet 安装以进行开发和测试。

Install-Package IronXL.Excel

安装后,添加IronXL命名空间访问所有Excel操作特性。 该库支持 .NET Framework、.NET Core 和 .NET 5+ 应用程序,使其与现代开发环境兼容。 有关具体部署场景,请参阅部署到 Azure在 Docker 中设置的指南。


如何使用教程

C#支持哪些 Excel 导出格式?

IronXL.Excel 可以将 Excel 工作簿中的数据导出为多种文件格式。 该库支持导出为:

  • Excel格式:.xls(遗留)
  • 数据交换格式:.xml
  • 制表符分隔值:.tsv

每种格式都有其特定的使用场景——CSV 用于数据库导入,JSON 用于 Web API,XML 用于企业系统集成。 将这些格式导出为各自的输出流,以便与其他应用程序集成。 该库在内部处理所有电子表格文件类型转换,在整个过程中保持数据的完整性。


如何用 C# 将 Excel 导出为 XLSX?

using IronXL 可以轻松实现 Excel 格式之间的转换。 以下示例演示加载旧版.xlsx文件:

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-export-to-excel-xlsx.cs
using IronXL;

// Import .xls, .csv, or .tsv file
WorkBook workbook = WorkBook.Load("XlsFile.xls");

// Export as .xlsx file
workbook.SaveAs("newFile.xlsx");
Imports IronXL

' Import .xls, .csv, or .tsv file
Private workbook As WorkBook = WorkBook.Load("XlsFile.xls")

' Export as .xlsx file
workbook.SaveAs("newFile.xlsx")
$vbLabelText   $csharpLabel

SaveAs方法根据文件扩展名自动检测所需格式。 从.xlsx时,过程保留所有工作表、公式、格式和数据类型。当现代化遗留Excel文件以便与更新的Office版本兼容时,此转换特别有用。

如何将 Excel 导出为 XLSX 流?

使用ToXlsxStream将文档导出到XLSX流中,以便与其他应用程序集成。 在使用云存储服务或在内存中处理 Excel 数据而不创建临时文件时,这种方法至关重要:

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-export-to-excel-xlsx-stream.cs
using IronXL;

// Load the workbook
WorkBook workbook = WorkBook.Load("xlsFile.xlsx");

// Exports the workbook to a XLSX stream.
var stream = workbook.ToXlsxStream();
Imports IronXL

' Load the workbook
Private workbook As WorkBook = WorkBook.Load("xlsFile.xlsx")

' Exports the workbook to a XLSX stream.
Private stream = workbook.ToXlsxStream()
$vbLabelText   $csharpLabel

如何将Excel导出为XLS格式?

遗留系统有时需要旧的.xls格式。 IronXL 可以在保持向后兼容性的同时处理这种转换:

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-export-to-excel-xls.cs
using IronXL;

// Import .xlsx, .csv or .tsv file
WorkBook workbook = WorkBook.Load("XlsxFile.xlsx");

// Export as .xls file
workbook.SaveAs("newFile.xls");
Imports IronXL

' Import .xlsx, .csv or .tsv file
Private workbook As WorkBook = WorkBook.Load("XlsxFile.xlsx")

' Export as .xls file
workbook.SaveAs("newFile.xls")
$vbLabelText   $csharpLabel

此转换保持与 Excel 97-2003 版本的兼容性。 .xls格式限制,比如每个工作表的65,536行限制。 对于需要管理工作表以及更大数据集的应用,考虑使用现代.xlsx格式。

何时应导出为 XLS 流?

IronXL 还支持以 XLS 流的形式导出。 这在与需要 XLS 格式但通过 API 而非文件系统运行的传统企业系统集成时尤其有用:

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-export-to-excel-xls-stream.cs
using IronXL;

// Load the workbook
WorkBook workbook = WorkBook.Load("xlsxFile.xlsx");

// Exports the workbook to a XLS stream.
var stream = workbook.ToXlsStream();
Imports IronXL

' Load the workbook
Dim workbook As WorkBook = WorkBook.Load("xlsxFile.xlsx")

' Exports the workbook to a XLS stream.
Dim stream = workbook.ToXlsStream()
$vbLabelText   $csharpLabel

如何用 C# 将 Excel 转换为 CSV?

CSV导出对于不同系统之间的数据交换至关重要。 IronXL 提供了一种专用的 CSV 转换方法,可智能处理多表工作簿:

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-export-to-excel-csv.cs
using IronXL;

//  Import .xlsx or xls file
WorkBook workbook = WorkBook.Load("sample.xlsx");

// Export as .csv file
workbook.SaveAsCsv("newFile.csv");
Imports IronXL

' Import .xlsx or .xls file
Dim workbook As WorkBook = WorkBook.Load("sample.xlsx")

' Export as .csv file
workbook.SaveAsCsv("newFile.csv")
$vbLabelText   $csharpLabel

导出多工作表工作簿时,IronXL 会为每个工作表创建单独的 CSV 文件。 对于包含三个工作表(分别名为"Sheet1"、"Sheet2"和"Sheet3")的工作簿,导出后会生成:

从 Excel 转换三个 CSV 文件:带 Excel 图标的 NewCsvFile.Sheet1.csv、Sheet2.csv 和 Sheet3.csv

从包含三个工作表的 Excel 工作簿生成多个 CSV 文件,每个工作表都导出为一个单独的 CSV 文件。

SaveAsCsv方法在删除格式、公式和其他Excel特定特性的同时保留数据值。 这使得 CSV 成为将数据导入数据库或使用其他应用程序进行处理的理想选择。 如需在导出前进行更复杂的数据处理,请参阅 将 DataTable 转换为 CSV 指南。

如何将单个工作表导出为 CSV 流?

要将工作簿中指定的工作表转换为CSV流,请使用ToCsvStream方法并传入表示工作表索引的整数。 这种方法在独立处理特定表单时非常有用:

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-export-to-excel-csv-stream.cs
using IronXL;

// Load the workbook
WorkBook workbook = WorkBook.Load("sample.xlsx");

// Exports the first sheet of the workbook to a CSV stream
var stream = workbook.ToCsvStream(0);
Imports IronXL

' Load the workbook
Private workbook As WorkBook = WorkBook.Load("sample.xlsx")

' Exports the first sheet of the workbook to a CSV stream
Private stream = workbook.ToCsvStream(0)
$vbLabelText   $csharpLabel

如何将所有工作表导出为 CSV 流?

IronXL支持使用ToCsvStreams方法将整个工作簿转换为CSV流。 这将返回一个流集合,每个工作表一个:

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-export-to-excel-csv-streams.cs
using IronXL;

// Load the workbook
WorkBook workbook = WorkBook.Load("sample.xlsx");

// Exports the entire workbook to a CSV stream
var workBookStream = workbook.ToCsvStreams();
Imports IronXL

' Load the workbook
Private workbook As WorkBook = WorkBook.Load("sample.xlsx")

' Exports the entire workbook to a CSV stream
Private workBookStream = workbook.ToCsvStreams()
$vbLabelText   $csharpLabel

如何将Excel数据导出为XML?

XML导出功能可实现与企业系统进行结构化数据交换。 IronXL 简化了这一过程,同时保持了电子表格数据的层次结构:

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-export-to-excel-xml.cs
using IronXL;

// Import .xlsx, .xls or .csv file
WorkBook workbook = WorkBook.Load("sample.xlsx");

// Export as .xml file
workbook.SaveAsXml("newFile.xml");
Imports IronXL

' Import .xlsx, .xls or .csv file
Private workbook As WorkBook = WorkBook.Load("sample.xlsx")

' Export as .xml file
workbook.SaveAsXml("newFile.xml")
$vbLabelText   $csharpLabel

SaveAsXml方法将每个工作表转换为一个单独的XML文件,具有结构化的电子表格数据表示。 这包括:

  • 单元格值和数据类型
  • 行和列定位
  • 基本结构信息

XML 导出对于将 Excel 数据与网络服务或需要结构化数据格式的系统集成尤其重要。 有关更高级的 Excel 转换场景,请参阅 将 XLSX 转换为各种格式的综合指南。

何时应使用 XML 流导出?

要将指定的工作表导出为XML流,请使用ToXmlStream方法并传入代表工作表索引的整数参数。 这是实时数据处理场景的理想选择:

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-export-to-excel-xml-stream.cs
using IronXL;

// Load the workbook
WorkBook workbook = WorkBook.Load("sample.xlsx");

// Converts the first worksheet to a XML Stream
var stream = workbook.ToXmlStream(0);
Imports IronXL

' Load the workbook
Private workbook As WorkBook = WorkBook.Load("sample.xlsx")

' Converts the first worksheet to a XML Stream
Private stream = workbook.ToXmlStream(0)
$vbLabelText   $csharpLabel

如何将多个工作表导出为 XML 流?

要将整个工作簿导出为XML流,请使用ToXmlStreams方法。 这种方法既保持了工作表之间的分离,又提供了对每个工作表的编程访问:

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-export-to-excel-xml-streams.cs
using IronXL;

// Load the workbook
WorkBook workbook = WorkBook.Load("sample.xlsx");

// Exports the entire workbook to a XML stream
var workBookStream = workbook.ToXmlStreams();
Imports IronXL

' Load the workbook
Private workbook As WorkBook = WorkBook.Load("sample.xlsx")

' Exports the entire workbook to a XML stream
Private workBookStream = workbook.ToXmlStreams()
$vbLabelText   $csharpLabel

如何从Excel文件生成JSON?

IronXL.Excel 现代Web应用程序通常需要JSON格式进行数据交换。 IronXL.Excel 提供直接 JSON 导出功能,可将 Excel 数据转换为网页友好的 JSON 结构:

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-export-to-excel-json.cs
using IronXL;

// Import Excel file
WorkBook workbook = WorkBook.Load("sample.xlsx");

// Export as JSON file
workbook.SaveAsJson("newFile.json");
Imports IronXL

' Import Excel file
Private workbook As WorkBook = WorkBook.Load("sample.xlsx")

' Export as JSON file
workbook.SaveAsJson("newFile.json")
$vbLabelText   $csharpLabel

SaveAsJson方法创建具有基于数组的结构的JSON文件,表示电子表格数据。 每个工作表都导出为单独的 JSON 文件,方便执行以下操作:

  • 与 RESTful API 集成
  • 在 JavaScript 应用程序中处理数据
  • 将电子表格数据存储在 NoSQL 数据库中。

对于高级应用场景,可将 JSON 导出与 IronXL 的数据处理功能相结合,在导出前对数据进行转换。 在使用需要通过 Web API 提供 Excel 数据的 ASP.NET Web 应用程序时,这一点尤其有用。

如何将单个工作表导出为 JSON 流?

要将指定的工作表转换为JSON流,请使用ToJsonStream方法并传入整数作为工作表索引。 这样就可以实现直接的 API 响应流,而无需中间文件:

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-export-to-excel-json-stream.cs
using IronXL;

// Load the workbook
WorkBook workbook = WorkBook.Load("sample.xlsx");

// Exports the first sheet of the workbook to a JSON stream
var stream = workbook.ToJsonStream(0);
Imports IronXL

' Load the workbook
Private workbook As WorkBook = WorkBook.Load("sample.xlsx")

' Exports the first sheet of the workbook to a JSON stream
Private stream = workbook.ToJsonStream(0)
$vbLabelText   $csharpLabel

何时将整个工作簿导出为 JSON 流?

要将整个工作簿转换为JSON流,请使用ToJsonStreams方法。 这种方法有利于在 JSON 输出中保持工作表结构:

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-export-to-excel-json-streams.cs
using IronXL;

// Load the workbook
WorkBook workbook = WorkBook.Load("sample.xlsx");

// Exports the entire workbook to a JSON stream
var workBookStream = workbook.ToJsonStreams();
Imports IronXL

' Load the workbook
Private workbook As WorkBook = WorkBook.Load("sample.xlsx")

' Exports the entire workbook to a JSON stream
Private workBookStream = workbook.ToJsonStreams()
$vbLabelText   $csharpLabel

哪些资源有助于 Excel 导出开发?

Documentation related to 哪些资源有助于 Excel 导出开发?

应用程序接口参考文档

探索完整的 IronXL API,包括所有命名空间、类、方法和属性,以实现高级 Excel 操作。

查看 API 参考

准备导出Excel文件?

IronXL 简化了 C# 应用程序中的 Excel 文件导出操作。 无论是 Excel 格式之间的转换,还是导出为 CSV、JSON 或 XML 等数据交换格式,该库都提供了直观的方法,可以自动处理复杂的转换。

立即使用IronXL 免费试用版,开始实现 Excel 导出功能。 对于生产部署,请探索专为各种规模团队设计的灵活 License 选项

立即开始使用 IronXL。
green arrow pointer

常见问题解答

没有 Microsoft Office,如何用 C# 将 Excel 文件导出为不同格式?

IronXL.Excel 允许您将 Excel 文件导出为多种格式,包括 XLSX、XLS、CSV、XML 和 JSON,而无需依赖 Microsoft Office。该库为每种导出格式提供了简单的单行方法,使不同文件类型之间的程序转换变得简单。

用 C# 将 Excel 文件转换为 JSON 的最简单方法是什么?

有了 IronXL,您只需两行代码就能将 Excel 文件转换为 JSON:WorkBook workbook = WorkBook.Load("data.xlsx"); workbook.SaveAsJson("output.json");.这种直接的方法无需进行复杂的解析或手动数据提取。

using C# 可以将 Excel 数据导出为哪些文件格式?

IronXL 支持将 Excel 工作簿导出为各种格式,包括Excel 格式(.xlsx 和 .xls)、数据交换格式(.csv、.json 和 .xml)以及制表符分隔值格式(.tsv)。每种格式都针对数据库导入、Web API 或企业系统集成等特定用例进行了优化。

如何为我的 C# 项目安装 Excel 导出库?

您可以通过 NuGet 包管理器或直接下载 DLL 来安装 IronXL。该库支持 .NET Framework、.NET Core 和 .NET 5+ 应用程序,因此与包括 Azure 和 Docker 部署在内的现代开发环境兼容。

我可以用 C# 将传统的 XLS 文件转换为现代的 XLSX 格式吗?

是的,IronXL.Excel 可以轻松实现 Excel 格式之间的转换。您可以使用 WorkBook.Load() 加载旧的 .xls 文件,并将其保存为现代的 .xlsx 文件,在整个转换过程中保持所有数据的完整性。

库提供了哪些导出 Excel 数据的方法?

IronXL 为每种导出格式提供了专用方法:针对 CSV 文件的 SaveAsCsv()、针对 JSON 输出的 SaveAsJson()、针对 XML 格式的 SaveAsXml(),以及针对 Excel 格式带有适当扩展名的标准 Save()。这些方法在内部处理所有文件类型的转换。

Jacob Mellor,Team Iron 的首席技术官
首席技术官

Jacob Mellor 是 Iron Software 的首席技术官,也是一位开创 C# PDF 技术的有远见的工程师。作为 Iron Software 核心代码库的原始开发者,他从公司成立之初就开始塑造公司的产品架构,与首席执行官 Cameron Rimington 一起将公司转变为一家拥有 50 多名员工的公司,为 NASA、特斯拉和全球政府机构提供服务。

Jacob 拥有曼彻斯特大学土木工程一级荣誉工程学士学位(BEng)(1998-2001 年)。他的旗舰产品 IronPDF 和 Iron Suite for .NET 库在全球的 NuGet 安装量已超过 3000 万次,其基础代码继续为全球使用的开发人员工具提供动力。Jacob 拥有 25 年的商业经验和 41 年的编码专业知识,他一直专注于推动企业级 C#、Java 和 Python PDF 技术的创新,同时指导下一代技术领导者。

准备开始了吗?
Nuget 下载 2,134,203 | 版本: 2026.7 刚刚发布
Still Scrolling Icon

还在滚动吗?

想快速获得证据? PM > Install-Package IronXL.Excel
运行示例 观看您的数据变成电子表格。