跳至页脚内容
使用 IRONXL

如何在 C# 中将 Excel 文件转换为 XML

微软 Excel 是一种广泛使用的多功能电子表格应用程序,以其在组织、分析和可视化数据方面的有效性而闻名。 它的工作方式类似于一个网格,用户可以在各个单元格中输入各种类型的输入,例如文本、数字、日期和公式,数据按行和列排列以方便管理。 其强大的公式和函数计算功能使用户能够执行广泛的逻辑、统计和数学任务。

Excel 提供了用于管理和评估数据以及生成图表的工具,以可视化方式呈现数据。 它通过允许多个用户同时编辑和共享文件来促进协作。 由于其对多种用户需求的适应性,它可以通过宏、VBA 和加载项进行定制和自动化。 Excel 工作簿类被用于多个领域,包括银行业、教育、研究和商业分析。 这是一个组织、评估和使用数据来做出决策的基本工具。 在本文中,我们将学习如何在 C# 中将 Excel 转换为 XML。

在 C# 中将 Excel 文件(XLS)转换为 XML 格式

  1. 在 Visual Studio 中创建一个控制台项目。
  2. 安装 IronXL 库。
  3. 初始化 IronXL 的必要对象。
  4. 创建一个新的 Excel 文件(XLS 或 XLSX)或将 Excel 文件加载到创建的对象中。
  5. XMLSaveOptions 类中使用 SaveAsXml 方法来将加载的文件转换为 XML。
  6. 处理 IronXL 对象。
using IronXL;

class Program
{
    static void Main()
    {
        // Step 2: Install IronXL library

        // Step 3: Initialize IronXL object
        WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);

        // Step 4: Create or load Excel file
        // Create a new Excel file
        WorkSheet worksheet = workbook.CreateWorkSheet("Sheet1");
        worksheet["A1"].Value = "Hello";
        worksheet["B1"].Value = "World";

        // Or load an existing Excel file
        workbook = WorkBook.Load("path_to_excel_file.xlsx");

        // Step 5: Convert Excel to XML
        XMLSaveOptions saveOptions = new XMLSaveOptions();
        workbook.SaveAsXml("path_to_output_xml_file.xml", saveOptions);

        // Step 6: Dispose of the IronXL objects
        worksheet.Dispose();
        workbook.Dispose();
    }
}
using IronXL;

class Program
{
    static void Main()
    {
        // Step 2: Install IronXL library

        // Step 3: Initialize IronXL object
        WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);

        // Step 4: Create or load Excel file
        // Create a new Excel file
        WorkSheet worksheet = workbook.CreateWorkSheet("Sheet1");
        worksheet["A1"].Value = "Hello";
        worksheet["B1"].Value = "World";

        // Or load an existing Excel file
        workbook = WorkBook.Load("path_to_excel_file.xlsx");

        // Step 5: Convert Excel to XML
        XMLSaveOptions saveOptions = new XMLSaveOptions();
        workbook.SaveAsXml("path_to_output_xml_file.xml", saveOptions);

        // Step 6: Dispose of the IronXL objects
        worksheet.Dispose();
        workbook.Dispose();
    }
}
Imports IronXL

Friend Class Program
	Shared Sub Main()
		' Step 2: Install IronXL library

		' Step 3: Initialize IronXL object
		Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)

		' Step 4: Create or load Excel file
		' Create a new Excel file
		Dim worksheet As WorkSheet = workbook.CreateWorkSheet("Sheet1")
		worksheet("A1").Value = "Hello"
		worksheet("B1").Value = "World"

		' Or load an existing Excel file
		workbook = WorkBook.Load("path_to_excel_file.xlsx")

		' Step 5: Convert Excel to XML
		Dim saveOptions As New XMLSaveOptions()
		workbook.SaveAsXml("path_to_output_xml_file.xml", saveOptions)

		' Step 6: Dispose of the IronXL objects
		worksheet.Dispose()
		workbook.Dispose()
	End Sub
End Class
$vbLabelText   $csharpLabel

在上述代码中,我们首先安装 IronXL 库。 然后,我们初始化 IronXL 对象并创建或加载 Excel 文件。最后,我们使用 SaveAsXml 方法结合 XMLSaveOptions 类将加载的文件转换为 XML。 使用后不要忘记处理 IronXL 对象。

IronXL是什么?

强大的 .NET 框架 Excel 库IronXL旨在促进与用 C#、VB.NET 和其他 .NET 语言编写的 Excel 交互。 它兼容 XLS 和 XLSX 文件格式。 使用此库,开发人员可以更快更简单地编写、读取、编辑和生成 Excel 电子表格。 此外,还提供种类繁多的工具和功能。

IronXL 的关键功能和属性包括:

  • 数据处理:IronXL 使读取、写入和操作 Excel 电子表格中的数据变得简单。 可以使用二维数组获取单元格值,并且可以进行公式、计算和数据格式化。
  • Excel 文件创建和修改:开发人员可以在创建新 Excel 文件和修改现有文件之外添加、删除和管理工作表。此外,他们可以使用 DLL 文件与各种 Excel 组件进行交互。
  • 多功能性和兼容性:由于其跨平台的互操作性,IronXL 可以用于多种应用场景,并且可以与多个 .NET 平台集成,包括 Xamarin、.NET Core 和 .NET Framework。
  • 支持传统和现代 Excel 格式:它支持旧版 XLS Excel 格式和最新版 XLSX Excel 格式。 它可以处理较新的基于 XML 的格式(XLSX,来自 Excel 2007)以及较旧的 Excel 文件格式(XLS,来自 Excel 97–2003)。
  • 实用性:通过提供具有易于理解的属性和功能的简单 API,库增加了开发人员对 Excel 相关活动的可访问性。
  • 数据提取和导出:IronXL 促进了从 Excel 文件中提取数据以及将 Excel 数据导出为多种格式(如 XML、新 DataTable 和纯文本)的过程,从而使与数据库和其他系统的接口变得简单。
  • 支持和文档:IronXL 提供了丰富的教程、文档和支持,协助开发人员使用其库进行基于 Excel 的活动。
  • 自动化和效率:通过自动化 Excel 过程,IronXL 使用户能够构建数据驱动的高效应用程序,提高生产力,减少人工劳动的时间。
  • 集成和定制:通过将 Excel 数据选择导出为多种格式,它更便于创建个性化报告和数据驱动解决方案。 它也与数据库和其他系统配合良好。

金融、数据分析、报告、商业智能和软件开发只是利用 IronXL 的众多行业中的一部分。 结合数据操作和 Excel 集成,使程序员能够处理 Excel 文件并产生可靠的解决方案。 要了解更多,请访问此链接

创建新的Visual Studio项目

设置 Visual Studio 控制台项目很简单。 按照这些步骤创建一个控制台应用程序:

  1. 启动 Visual Studio。 确保您的计算机上安装了 Visual Studio。
  2. 创建新项目: 选择文件 > 新建 > 项目

如何在 C# 中将 Excel 文件转换为 XML:图 1 - 新项目

  1. 在"创建新项目"框的左侧选择您偏好的编程语言(例如,C#)。
  2. 从可用项目模板列表中选择"控制台应用程序"或"控制台应用程序(.NET Core)"模板。
  3. 在"名称"字段中为您的项目提供一个名称。

如何在 C# 中将 Excel 文件转换为 XML:图 2 - 项目配置

  1. 选择存储项目的位置。
  2. 单击"创建"以开始新的控制台应用程序项目。

如何在 C# 中将 Excel 文件转换为 XML:图 3 - 目标框架

安装IronXL库

要安装 IronXL 库,请按照以下步骤操作:

  1. 安装 IronXL 库,因为下一个步骤需要它。 在 NuGet 包管理器控制台中使用以下命令:

    Install-Package IronXL
    Install-Package IronXL
    SHELL

    如何在 C# 中将 Excel 文件转换为 XML:图 4 - 安装 IronXL

  2. 另一种方法是使用 NuGet 包管理器搜索包 "IronXL"。 从搜索结果中选择适合的 IronXL NuGet 包。

如何在 C# 中将 Excel 文件转换为 XML:图 5 - IronXL

在 C# 中将 Excel 文件转换为 XML

您可以使用 IronXL 的 SaveAsXml 函数将 Excel 文件中的数据保存到 XML 文件格式中。

下面是一个如何在 C# 中结合 IronXL 使用 SaveAsXml 函数的示例:

using IronXL;

class Program
{
    static void Main(string[] args)
    {
        // Specify the path to your existing Excel file
        string excelFilePath = "path_to_excel_file.xlsx";
        // Specify the path to where the resulting XML file should be saved
        string xmlFilePath = "path_to_output_xml_file.xml";

        // Load Excel file using IronXL
        WorkBook workbook = WorkBook.Load(excelFilePath);

        // Save Excel data as XML
        workbook.SaveAsXml(xmlFilePath);

        Console.WriteLine("Excel data saved as XML successfully at: " + xmlFilePath);
    }
}
using IronXL;

class Program
{
    static void Main(string[] args)
    {
        // Specify the path to your existing Excel file
        string excelFilePath = "path_to_excel_file.xlsx";
        // Specify the path to where the resulting XML file should be saved
        string xmlFilePath = "path_to_output_xml_file.xml";

        // Load Excel file using IronXL
        WorkBook workbook = WorkBook.Load(excelFilePath);

        // Save Excel data as XML
        workbook.SaveAsXml(xmlFilePath);

        Console.WriteLine("Excel data saved as XML successfully at: " + xmlFilePath);
    }
}
Imports IronXL

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		' Specify the path to your existing Excel file
		Dim excelFilePath As String = "path_to_excel_file.xlsx"
		' Specify the path to where the resulting XML file should be saved
		Dim xmlFilePath As String = "path_to_output_xml_file.xml"

		' Load Excel file using IronXL
		Dim workbook As WorkBook = WorkBook.Load(excelFilePath)

		' Save Excel data as XML
		workbook.SaveAsXml(xmlFilePath)

		Console.WriteLine("Excel data saved as XML successfully at: " & xmlFilePath)
	End Sub
End Class
$vbLabelText   $csharpLabel

要保存生成的 XML 文件,请将 "path_to_output_xml_file.xml" 替换为相应的位置,将 "path_to_excel_file.xlsx" 替换为您的实际 Excel 文件的路径。

此代码示例加载一个 Excel 文件,并使用 IronXL 提供的 SaveAsXml 函数将 Excel 文件数据转换为 XML 格式,无需手动遍历行和列来构建 XML。 此方法内部将 Excel 数据转换为 XML 格式,然后将其保存到指定的 XML 文件中。

请确保您在保存 XML 文件时具备向目录写入的必要权限。原始 Excel 文件的内容和布局可能会影响生成 XML 的类型和结构。

输入文件:

如何在 C# 中将 Excel 文件转换为 XML:图 6 - Excel 输入

Result:

如何在 C# 中将 Excel 文件转换为 XML:图 7 - XML 输出

要了解更多关于代码的信息,请参阅这里的代码示例

结论

使用 IronXL 的 SaveAsXml 函数从 Excel 文件导出数据到 XML 格式是一种简便且高效的方法。 此方法消除了在将 Excel 数据转换为 XML 格式时手动迭代行和单元格的需要。 IronXL 是一个提供此功能的 .NET 库。

通过在 C# 中使用 IronXL 的 SaveAsXml 函数,用户可以轻松、快速地将 Excel 数据转换为 XML 格式。 IronXL 提供免费的社区版,但对非商业用途有所限制。 IronXL 的付费版本通过订阅或永久授权模式提供,起价为 $799。 这些付费版本提供增强的功能、支持和完整的功能。 有关许可证的最新信息,请参考 IronXL 的网站。 要了解有关 Iron Software 产品的更多信息,请访问此页面

常见问题解答

如何在 C# 中将 Excel 文件转换为 XML?

您可以使用IronXL库在C#中将Excel文件转换为XML。首先,设置Visual Studio控制台项目,并通过NuGet安装IronXL。然后,加载或创建Excel文件,并在XMLSaveOptions类中利用SaveAsXml方法执行转换。

使用 IronXL 进行 Excel 到 XML 转换有哪些优势?

IronXL 提供了一个简便的 API,使 Excel 文件转换为 XML 的过程变得简单。它在内部处理转换,使其易于与 .NET 应用程序集成,无需手动数据迭代。

IronXL 是否兼容 XLS 和 XLSX 格式的转换?

是的,IronXL 兼容 XLS 和 XLSX 文件格式,为各种 Excel 文件操作和转换任务提供了多功能性。

在 Visual Studio 项目中安装 IronXL 的步骤是什么?

要在Visual Studio中安装IronXL,您可以使用NuGet包管理器控制台,命令为Install-Package IronXL,或者您可以在NuGet包管理器中搜索IronXL并直接从那里安装。

使用后如何确保正确处理 IronXL 对象?

在使用IronXL对象后,确保正确释放它们以释放资源。这可以通过在不再需要这些对象后调用Dispose方法来完成。

IronXL 兼容哪些编程语言?

IronXL 可以与多种 .NET 语言一起使用,包括 C# 和 VB.NET,使其成为开发人员在需要 Excel 集成的应用程序中工作的多用途选择。

IronXL 提供哪些许可选项?

IronXL 为非商业用途提供免费的社区版(有一些限制),而对于商业用途,付费版提供了增强的功能和支持,可通过订阅或永久许可证获得。

IronXL 如何促进 Excel 数据的导出到其他格式?

IronXL 允许从 Excel 文件中无缝提取和导出数据到各种格式,例如 XML 和纯文本,从而增强与数据库和其他系统的集成。

Curtis Chau
技术作家

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

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