使用IRONXL

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

雷根·彭
雷根·彭
2024年一月27日
分享:

介绍

Microsoft 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 文件的创建和修改:除了创建新的 Excel 文件和修改已有文件外,开发人员还可以添加、删除和管理工作表。此外,开发人员还可以使用 DLL 文件与各种 Excel 组件进行通信。
  • IronXL 具有跨平台互操作性,可与 Xamarin、.NET Core 和 .NET Framework 等多个 .NET 平台集成,因此可用于各种应用场景。
  • 多功能性和兼容性:它既支持较老的 XLS Excel 格式,也支持较新的 XLSX Excel 格式,并且兼容多个 Excel 版本。
  • 支持旧版和现代版Excel格式:它可以支持更新的基于XML的格式(XLSX,始于Excel 2007),以及旧版Excel文件格式(XLS,始于Excel 97–2003)。
  • 实用性:通过提供简单明了的 API 以及易于理解的属性和函数,该库可为具有不同程度经验的开发人员提供更多与 Excel 相关的活动。
  • 数据提取和导出:IronXL.Excel 可方便地从 Excel 文件中提取数据,并将 Excel 数据导出为多种格式,如 XML、新 DataTable 和纯文本,从而使与数据库和其他系统的接口变得简单。
  • 支持和文档:IronXL.Excel 提供丰富的教程、文档和支持,帮助开发人员使用其库开展基于 Excel 的活动。
  • 自动化和效率:通过自动化 Excel 程序,IronXL.Excel 使用户能够构建数据驱动的高效应用程序,提高生产率,并减少人工劳动时间。
  • 集成和定制:通过将 Excel 数据选择导出为各种格式,可以更轻松地创建个性化报告和数据驱动解决方案。 它还能很好地与数据库和其他系统配合使用。

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

创建一个新的Visual Studio项目

设置 Visual Studio Console 项目非常简单。 请按照以下步骤创建控制台应用程序:

  1. 启动 Visual Studio。 确保计算机上安装了 Visual Studio。

  2. 创建一个新项目:

    选择文件 > 新建 > 项目

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

  3. 在“创建新项目”框的左侧选择您偏好的编程语言(例如,C#)。

  4. 在可用项目模板列表中,选择“控制台应用”或“控制台应用(.NET Core)”模板。

  5. 在“名称”字段中为您的项目提供一个名称。

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

  6. 选择存储项目的位置。

  7. 单击 "创建 "开始新的控制台应用程序项目。

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

安装IronXL库

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

  1. 安装 IronXL 库,因为接下来的步骤需要它。 在 NuGet 软件包管理器控制台中使用以下命令:
    Install-Package IronXL

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

  1. 另一种方法是使用 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)
    {
        string excelFilePath = "Excel file here";
        string xmlFilePath = "XML file here";

        // 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)
    {
        string excelFilePath = "Excel file here";
        string xmlFilePath = "XML file here";

        // 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)
		Dim excelFilePath As String = "Excel file here"
		Dim xmlFilePath As String = "XML file here"

		' 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 文件,请将 "XML 文件在此 "替换为适当的位置,将 "Excel 文件在此 "替换为实际 Excel 文件的路径。

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

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

输入文件:

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

结果:

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

要了解更多关于代码的信息,请参考此处的代码示例

结论

一种简单有效的方法是使用 IronXL 的 SaveAsXml 函数将 Excel 文件中的数据导出为 XML 格式。 在将 Excel 数据转换为 XML 格式时,这种方法无需人工反复查看行和单元格。 IronXL for .NET 是一个提供此功能的 .NET 库。

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

雷根·彭
软件工程师
Regan毕业于雷丁大学,拥有电子工程学士学位。在加入Iron Software之前,他的前工作职位要求他专注于单一任务;他在Iron Software最喜欢的是能进行多种工作,无论是增加销售价值、技术支持、产品开发还是营销。他喜欢了解开发人员如何使用Iron Software的库,并利用这些知识不断改进文档和开发产品。
< 前一页
如何读取CSV文件中的数据并将其存储在数据库中 C#
下一步 >
如何在VB .NET中将Excel文件导入SQL数据库