如何使用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 文件导出为多种格式,包括.xlsx.xls.csv.xml.json,而无需依赖 Microsoft Office。 该库为每种导出格式提供了单行方法。

快速入门:一行代码即可将工作簿导出为 JSON

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

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

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

    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 引用,即可通过IronXL命名空间访问所有 Excel 操作功能。 该库支持 .NET Framework、.NET Core 和 .NET 5+ 应用程序,使其与现代开发环境兼容。 有关具体部署场景,请参阅部署到 Azure在 Docker 中设置的指南。


如何使用教程

C#支持哪些 Excel 导出格式? IronXL.Excel 可以将 Excel 工作簿中的数据导出为多种文件格式。 该库支持导出为: - Excel 格式: `.xlsx` (现代格式)和`.xls` (旧格式) - 数据交换格式: `.csv` 、 `.json`和`.xml` - 制表符分隔值: `.tsv` 每种格式都有其特定的使用场景——CSV 用于数据库导入,JSON 用于 Web API,XML 用于企业系统集成。 将这些格式导出为各自的输出流,以便与其他应用程序集成。 该库在内部处理所有[电子表格文件类型转换](https://ironsoftware.com/csharp/excel/how-to/convert-spreadsheet-file-types/),在整个过程中保持数据的完整性。

如何用 C# 将 Excel 导出为 XLSX? 使用 IronXL 可以轻松实现 Excel 格式之间的转换。 以下示例演示如何加载旧的`.xls`文件并将其另存为现代的`.xlsx`文件: ```csharp :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"); ``` `SaveAs`方法会根据文件扩展名自动检测所需的格式。 从 `.xls` 转换为 `.xlsx` 时,该过程将保留所有工作表、公式、格式和数据类型。这种转换在[对传统 Excel 文件](https://ironsoftware.com/csharp/excel/how-to/convert-spreadsheet-file-types/)进行现代化以兼容较新 Office 版本时特别有用。

如何将 Excel 导出为 XLSX 流? 使用 `ToXlsxStream` 将文档导出为 XLSX 流,以便与其他应用程序集成。 在使用云存储服务或在内存中处理 Excel 数据而不创建临时文件时,这种方法至关重要: ```csharp :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(); // Use the stream with other services // Example: Upload to cloud storage, send via web API, etc. ```
## 如何将Excel导出为XLS格式? 旧系统有时需要使用较旧的`.xls`格式。 IronXL 可以在保持向后兼容性的同时处理这种转换: ```csharp :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"); ``` 此转换保持与 Excel 97-2003 版本的兼容性。 `SaveAs`方法在内部处理格式转换,确保数据完整性,同时适应`.xls`格式的限制,例如每个工作表 65,536 行的限制。 对于需要[管理具有较大数据集的工作表](https://ironsoftware.com/csharp/excel/how-to/manage-worksheet/)的应用程序,请考虑使用现代的 `.xlsx` 格式。

何时应导出为 XLS 流? IronXL 还支持以 XLS 流的形式导出。 这在与需要 XLS 格式但通过 API 而非文件系统运行的传统企业系统集成时尤其有用: ```csharp :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(); // Stream can be used for legacy system integration // Example: Send to legacy API endpoints, store in binary databases ```

如何用 C# 将 Excel 转换为 CSV? CSV导出对于不同系统之间的数据交换至关重要。 IronXL 提供了一种专用的 CSV 转换方法,可智能处理多表工作簿: ```cs :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"); ``` 导出多工作表工作簿时,IronXL 会为每个工作表创建单独的 CSV 文件。 对于包含三个工作表(分别名为"Sheet1"、"Sheet2"和"Sheet3")的工作簿,导出后会生成:
从 Excel 转换三个 CSV 文件:带 Excel 图标的 NewCsvFile.Sheet1.csv、Sheet2.csv 和 Sheet3.csv
*从包含三个工作表的 Excel 工作簿生成多个 CSV 文件,每个工作表都导出为一个单独的 CSV 文件。* `SaveAsCsv`方法保留数据值,同时删除格式、公式和其他 Excel 特有的功能。 这使得 CSV 成为[将数据导入数据库](https://ironsoftware.com/csharp/excel/how-to/csharp-read-csv-file/)或使用其他应用程序进行处理的理想选择。 如需在导出前进行更复杂的数据处理,请参阅 [ 将 DataTable 转换为 CSV](https://ironsoftware.com/csharp/excel/how-to/csharp-datatable-to-csv/) 指南。

如何将单个工作表导出为 CSV 流? 要将工作簿中的指定工作表转换为 CSV 流,请使用 `ToCsvStream` 方法,并使用整数表示工作表的索引。 这种方法在独立处理特定表单时非常有用: ```cs :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); // Process the stream (e.g., upload to API, save to database) // The stream contains only data from the first worksheet ```

如何将所有工作表导出为 CSV 流? IronXL 支持使用 `ToCsvStreams` 方法将整个工作簿转换为 CSV 流。 这将返回一个流集合,每个工作表一个: ```cs :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 CSV streams var workBookStream = workbook.ToCsvStreams(); // Each stream in the collection represents a worksheet // Process streams individually for batch operations ```
## 如何将Excel数据导出为XML? XML导出功能可实现与企业系统进行结构化数据交换。 IronXL 简化了这一过程,同时保持了电子表格数据的层次结构: ```cs :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"); ``` `SaveAsXml`方法将每个工作表转换为单独的 XML 文件,其中包含电子表格数据的结构化表示。 这包括: - 单元格值和数据类型 - 行和列定位 - 基本结构信息 XML 导出对于[将 Excel 数据与网络服务](https://ironsoftware.com/csharp/excel/tutorials/csharp-open-write-excel-file/)或需要结构化数据格式的系统集成尤其重要。 有关更高级的 Excel 转换场景,请参阅 [将 XLSX 转换为各种格式](https://ironsoftware.com/csharp/excel/how-to/csharp-convert-xlsx-to-csv/)的综合指南。

何时应使用 XML 流导出? 要将指定的工作表导出为 XML 流,请使用 `ToXmlStream` 方法,其中的整数参数代表工作表索引。 这是实时数据处理场景的理想选择: ```cs :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); // Stream can be processed without file I/O operations // Ideal for web services and API integrations ```

如何将多个工作表导出为 XML 流? 要将整个工作簿导出为 XML 流,请使用 `ToXmlStreams` 方法。 这种方法既保持了工作表之间的分离,又提供了对每个工作表的编程访问: ```cs :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 XML streams var workBookStream = workbook.ToXmlStreams(); // Each stream represents a worksheet in XML format // Perfect for batch processing and parallel operations ```
## 如何从Excel文件生成JSON? 现代Web应用程序通常需要JSON格式进行数据交换。 IronXL.Excel 提供直接 JSON 导出功能,可将 Excel 数据转换为网页友好的 JSON 结构: ```cs :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"); ``` `SaveAsJson`方法创建 JSON 文件,其中包含表示电子表格数据的基于数组的结构。 每个工作表都导出为单独的 JSON 文件,方便执行以下操作: - 与 RESTful API 集成 - 在 JavaScript 应用程序中处理数据 - 将电子表格数据存储在 NoSQL 数据库中。 对于高级应用场景,可将 JSON 导出与 [IronXL 的数据处理功能](https://ironsoftware.com/csharp/excel/object-reference/api/)相结合,在导出前对数据进行转换。 在使用需要通过 Web API 提供 Excel 数据的 [ASP.NET Web 应用程序](https://ironsoftware.com/csharp/excel/how-to/asp-net-mvc-read-excel-file/)时,这一点尤其有用。

如何将单个工作表导出为 JSON 流? 要将指定的工作表转换为 JSON 流,请使用 `ToJsonStream` 方法,并将整数作为工作表索引。 这样就可以实现直接的 API 响应流,而无需中间文件: ```cs :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); // Stream can be returned directly in web API responses // No temporary files needed for JSON conversion ```

何时将整个工作簿导出为 JSON 流? 要将整个工作簿转换为 JSON 流,请使用 `ToJsonStreams` 方法。 这种方法有利于在 JSON 输出中保持工作表结构: ```cs :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 JSON streams var workBookStream = workbook.ToJsonStreams(); // Each stream contains JSON data for one worksheet // Maintains workbook structure in JSON format ```

哪些资源有助于 Excel 导出开发?
Documentation related to 如何使用教程

应用程序接口参考文档

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

查看 API 参考
## 准备导出Excel文件? IronXL 简化了 C# 应用程序中的 Excel 文件导出操作。 无论是 Excel 格式之间的转换,还是导出为 CSV、JSON 或 XML 等数据交换格式,该库都提供了直观的方法,可以自动处理复杂的转换。 立即使用[IronXL 免费试用版](trial-license),开始实现 Excel 导出功能。 对于生产部署,请探索[专为各种规模团队设计的灵活 License 选项](https://ironsoftware.com/csharp/excel/licensing/)。
立即开始使用 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");.这种直接的方法无需进行复杂的解析或手动数据提取。

使用 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 拥有曼彻斯特大学 (1998-2001) 的一级荣誉土木工程学士学位。1999 年在伦敦创办了自己的第一家软件公司,并于 2005 年创建了他的第一个 .NET 组件后,他专注于解决微软生态系统中的复杂问题。

他的旗舰 IronPDF 和 Iron Suite .NET 库在全球已获得超过 3000 万次的 NuGet 安装,其基础代码继续为全球使用的开发者工具提供支持。拥有 25 年商业经验和 41 年编程经验的 Jacob 仍专注于推动企业级 C#、Java 和 Python PDF 技术的创新,同时指导下一代技术领导者。

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