C# 导出 Excel 与 XLSX文件操作:完整的开发人员指南
使用 IronXL 在 C# 中进行全面的XLSX文件操作,将 Excel 文件导出为多种格式,包括 .xml 和 .json,无需 Microsoft Office 依赖项。 无论是创建Excel表格还是转换现有数据,IronXL 都提供简洁的导出方法。 该库为每种导出格式提供了单行方法。
快速入门:一行代码即可将工作簿导出为 JSON
利用 IronXL.Excel 的 API,只需一行即可加载您现有的 Excel 文件并将其导出为 JSON 格式。 开始导出 Excel 文件,无需编写模板代码。
- 下载用于导出 Excel 文件的 C# 库
- 使用`WorkBook.Load()`方法加载现有的 Excel 工作簿
- Export to XLSX format with the `.xlsx` extension
- 使用`SaveAsCsv()`将 Excel 文件转换为 CSV 文件。
- 使用`SaveAsXml()`将电子表格数据导出为 XML。
- 使用`SaveAsJson()`从 Excel 生成 JSON 文件
步骤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(旧版) - 数据交换格式:
.json和.xml - 制表符分隔值:
.tsv
每种格式都有其特定的使用场景——CSV 用于数据库导入,JSON 用于 Web API,XML 用于企业系统集成。 将这些格式导出为各自的输出流,以便与其他应用程序集成。 该库在内部处理所有电子表格文件类型转换,在整个过程中保持数据的完整性。
如何用 C# 将 Excel 导出为 XLSX?
使用 IronXL 可以轻松实现 Excel 格式之间的转换。 以下示例演示如何加载旧的 .xls 文件并将其另存为现代的 .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");
using IronXL;
// Import .xls, .csv, or .tsv file
WorkBook workbook = WorkBook.Load("XlsFile.xls");
// Export as .xlsx file
workbook.SaveAs("newFile.xlsx");
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
Dim workbook As WorkBook = WorkBook.Load("XlsFile.xls")
' Export as .xlsx file
workbook.SaveAs("newFile.xlsx")
SaveAs 方法会根据文件扩展名自动检测所需的格式。 从 .xls 转换为 .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();
// Use the stream with other services
// Example: Upload to cloud storage, send via web API, etc.
using IronXL;
// Load the workbook
WorkBook workbook = WorkBook.Load("xlsFile.xlsx");
// Exports the workbook to a XLSX stream.
var stream = workbook.ToXlsxStream();
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.
Imports IronXL
' Load the workbook
Dim workbook As WorkBook = WorkBook.Load("xlsFile.xlsx")
' Exports the workbook to a XLSX stream.
Dim stream = workbook.ToXlsxStream()
' Use the stream with other services
' Example: Upload to cloud storage, send via web API, etc.
如何将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");
using IronXL;
// Import .xlsx, .csv or .tsv file
WorkBook workbook = WorkBook.Load("XlsxFile.xlsx");
// Export as .xls file
workbook.SaveAs("newFile.xls");
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
Dim workbook As WorkBook = WorkBook.Load("XlsxFile.xlsx")
' Export as .xls file
workbook.SaveAs("newFile.xls")
此转换保持与 Excel 97-2003 版本的兼容性。 SaveAs 方法在内部处理格式转换,确保数据完整性,同时适应 .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();
// Stream can be used for legacy system integration
// Example: Send to legacy API endpoints, store in binary databases
using IronXL;
// Load the workbook
WorkBook workbook = WorkBook.Load("xlsxFile.xlsx");
// Exports the workbook to a XLS stream.
var stream = workbook.ToXlsStream();
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
Imports IronXL
' Load the workbook
Dim workbook As WorkBook = WorkBook.Load("xlsxFile.xlsx")
' Exports the workbook to a XLS stream.
Dim 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 转换方法,可智能处理多表工作簿:
: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");
using IronXL;
// Import .xlsx or xls file
WorkBook workbook = WorkBook.Load("sample.xlsx");
// Export as .xls file
workbook.SaveAsCsv("newFile.csv");
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")
导出多工作表工作簿时,IronXL 会为每个工作表创建单独的 CSV 文件。 对于包含三个工作表(分别名为"Sheet1"、"Sheet2"和"Sheet3")的工作簿,导出后会生成:
从包含三个工作表的 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);
// Process the stream (e.g., upload to API, save to database)
// The stream contains only data from the first worksheet
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);
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
Imports IronXL
' Load the workbook
Dim workbook As WorkBook = WorkBook.Load("sample.xlsx")
' Exports the first sheet of the workbook to a CSV stream
Dim 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 流。 这将返回一个流集合,每个工作表一个:
: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
using IronXL;
// Load the workbook
WorkBook workbook = WorkBook.Load("sample.xlsx");
// Exports the entire workbook to a CSV stream
var workBookStream = workbook.ToCsvStreams();
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
Imports IronXL
' Load the workbook
Dim workbook As WorkBook = WorkBook.Load("sample.xlsx")
' Exports the entire workbook to CSV streams
Dim workBookStream = workbook.ToCsvStreams()
' Each stream in the collection represents a worksheet
' Process streams individually for batch operations
如何将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");
using IronXL;
// Import .xlsx, .xls or .csv file
WorkBook workbook = WorkBook.Load("sample.xlsx");
// Export as .xml file
workbook.SaveAsXml("newFile.xml");
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
Dim workbook As WorkBook = WorkBook.Load("sample.xlsx")
' Export as .xml file
workbook.SaveAsXml("newFile.xml")
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);
// Stream can be processed without file I/O operations
// Ideal for web services and API integrations
using IronXL;
// Load the workbook
WorkBook workbook = WorkBook.Load("sample.xlsx");
// Converts the first worksheet to a XML Stream
var stream = workbook.ToXmlStream(0);
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
Imports IronXL
' Load the workbook
Dim workbook As WorkBook = WorkBook.Load("sample.xlsx")
' Converts the first worksheet to a XML Stream
Dim stream = workbook.ToXmlStream(0)
' Stream can be processed without file I/O operations
' Ideal for web services and API integrations
如何将多个工作表导出为 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 XML streams
var workBookStream = workbook.ToXmlStreams();
// Each stream represents a worksheet in XML format
// Perfect for batch processing and parallel operations
using IronXL;
// Load the workbook
WorkBook workbook = WorkBook.Load("sample.xlsx");
// Exports the entire workbook to a XML stream
var workBookStream = workbook.ToXmlStreams();
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
Imports IronXL
' Load the workbook
Dim workbook As WorkBook = WorkBook.Load("sample.xlsx")
' Exports the entire workbook to XML streams
Dim 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 结构:
: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");
using IronXL;
// Import Excel file
WorkBook workbook = WorkBook.Load("sample.xlsx");
// Export as JSON file
workbook.SaveAsJson("newFile.json");
using IronXL;
// Import Excel file
WorkBook workbook = WorkBook.Load("sample.xlsx");
// Export as JSON file
workbook.SaveAsJson("newFile.json");
Imports IronXL
' Import Excel file
Dim workbook As WorkBook = WorkBook.Load("sample.xlsx")
' Export as JSON file
workbook.SaveAsJson("newFile.json")
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);
// Stream can be returned directly in web API responses
// No temporary files needed for JSON conversion
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);
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
Imports IronXL
' Load the workbook
Dim workbook As WorkBook = WorkBook.Load("sample.xlsx")
' Exports the first sheet of the workbook to a JSON stream
Dim stream = workbook.ToJsonStream(0)
' Stream can be returned directly in web API responses
' No temporary files needed for JSON conversion
何时将整个工作簿导出为 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 JSON streams
var workBookStream = workbook.ToJsonStreams();
// Each stream contains JSON data for one worksheet
// Maintains workbook structure in JSON format
using IronXL;
// Load the workbook
WorkBook workbook = WorkBook.Load("sample.xlsx");
// Exports the entire workbook to a JSON stream
var workBookStream = workbook.ToJsonStreams();
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
Imports IronXL
' Load the workbook
Dim workbook As WorkBook = WorkBook.Load("sample.xlsx")
' Exports the entire workbook to JSON streams
Dim workBookStream = workbook.ToJsonStreams()
' Each stream contains JSON data for one worksheet
' Maintains workbook structure in JSON format
哪些资源有助于 Excel 导出开发?
探索完整的 IronXL API,包括所有命名空间、类、方法和属性,以实现高级 Excel 操作。
查看 API 参考准备导出Excel文件?
IronXL 简化了 C# 应用程序中的 Excel 文件导出操作。 无论是 Excel 格式之间的转换,还是导出为 CSV、JSON 或 XML 等数据交换格式,该库都提供了直观的方法,可以自动处理复杂的转换。
立即使用IronXL 免费试用版,开始实现 Excel 导出功能。 对于生产部署,请探索专为各种规模团队设计的灵活 License 选项。
常见问题解答
没有 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()。这些方法在内部处理所有文件类型的转换。


