USO DE IRONXL

Cómo convertir un archivo Excel a XML en C#

Chaknith Bin
Chaknith Bin
27 de enero, 2024
Compartir:

Introducción

Microsoft Excel es una aplicación de hoja de cálculo multifuncional muy utilizada y famosa por su eficacia a la hora de organizar, analizar y visualizar datos. Es un programa que funciona de forma similar a una cuadrícula. Los usuarios pueden introducir varios tipos de datos, como texto, números, fechas y fórmulas en celdas individuales, y los datos se organizan en filas y columnas para facilitar su gestión. Sus sólidas capacidades de cálculo de fórmulas y funciones permiten a los usuarios realizar una amplia gama de tareas lógicas, estadísticas y matemáticas.

Excel ofrece herramientas para gestionar y evaluar datos, así como para producir gráficos y diagramas que representan visualmente los datos. Facilita la colaboración al permitir que varios usuarios editen y compartan archivos simultáneamente. Puede personalizarse y automatizarse con el uso de macros, VBA y complementos gracias a su adaptabilidad a una serie de demandas de usuarios de todos los sectores. La clase de Excel Workbook se utiliza en diversos campos, como la banca, la educación, la investigación y el análisis empresarial. Es una herramienta esencial para organizar, evaluar y utilizar los datos con el fin de tomar decisiones. En este artículo, vamos a aprender cómo convertir Excel a XML en C#.

Convertir archivos Excel (XLS) a formato XML en C#

  1. Cree un proyecto de consola en Visual Studio.

  2. Instale la biblioteca IronXL.

  3. Inicializa el objeto necesario del IronXL.

  4. Cree un nuevo archivo de Excel (XLS o XLSX) o cargue el archivo de Excel en el objeto creado.

  5. Utilice el método SaveAsXml dentro de la clase XMLSaveOptions para convertir el archivo cargado en XML.

  6. Deshazte de los objetos 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

En el código anterior, primero instalamos la librería IronXL. Luego, inicializamos el objeto de IronXL y creamos o cargamos el archivo de Excel. Finalmente, utilizamos el método SaveAsXml con la clase XMLSaveOptions para convertir el archivo cargado en XML. No olvides deshacerte de los objetos IronXL después de usarlos.

Qué es IronXL

Una potente biblioteca de Excel del framework .NET llamada IronXL fue creada para facilitar el trabajo con Excel escrito en C#, VB.NET y otros lenguajes .NET. Es compatible con los formatos de archivo XLS y XLSX. Con el uso de esta biblioteca, los desarrolladores pueden escribir, leer, editar y producir hojas de cálculo Excel de forma más rápida y sencilla. También dispone de una amplia gama de herramientas y funciones.

Entre las principales características y propiedades de IronXL se incluyen:

  • Manipulación de datos: IronXL facilita la lectura, escritura y manipulación de datos en hojas de cálculo Excel. Se puede utilizar una matriz bidimensional para obtener los valores de las celdas, así como fórmulas, cálculos y formateo de datos.
  • Creación y modificación de archivos Excel: Los desarrolladores pueden añadir, eliminar y gestionar hojas de cálculo, además de crear nuevos archivos Excel y modificar los ya existentes. Además, pueden comunicarse con diversos componentes de Excel mediante archivos DLL.
  • IronXL puede utilizarse en diversos escenarios de aplicación gracias a su interoperabilidad multiplataforma y puede integrarse con múltiples plataformas .NET, incluidas Xamarin, .NET Core y .NET Framework.
  • Versatilidad y compatibilidad: Admite tanto el antiguo formato XLS Excel como el más moderno XLSX Excel, y es compatible con varias versiones de Excel.
  • Compatibilidad con formatos de Excel antiguos y modernos: Puede admitir formularios basados en XML más recientes (XLSX, que data de Excel 2007) así como formatos más antiguos de archivos de Excel (XLS, que data de Excel 97–2003).
  • Utilidad: Al ofrecer una API sencilla con atributos y funciones fáciles de entender, la biblioteca aumenta la accesibilidad de las actividades relacionadas con Excel para desarrolladores con distintos grados de experiencia.
  • Extracción y exportación de datos: IronXL facilita la extracción de datos de archivos Excel y la exportación de datos Excel a varios formatos como XML, nueva DataTable y texto sin formato, lo que simplifica la interfaz con bases de datos y otros sistemas.
  • Soporte y Documentación: IronXL proporciona abundantes tutoriales, documentación y soporte para ayudar a los desarrolladores a utilizar su biblioteca para actividades basadas en Excel.
  • Automatización y eficiencia: Al automatizar los procedimientos de Excel, IronXL permite a los usuarios crear aplicaciones eficientes basadas en datos, aumentar la productividad y dedicar menos tiempo al trabajo manual.
  • Integración y personalización: Facilita la creación de informes personalizados y soluciones basadas en datos mediante la exportación de opciones de datos de Excel a diversos formatos. También funciona bien con bases de datos y otros sistemas.

    Finanzas, análisis de datos, elaboración de informes, inteligencia empresarial y desarrollo de software son sólo algunos de los diversos sectores que utilizan IronXL. Combinar la manipulación de datos con la integración de Excel permite a los programadores trabajar con archivos Excel y producir soluciones fiables. Para obtener más información, vaya a este enlace.

Crear un nuevo proyecto de Visual Studio

Configurar un proyecto de Visual Studio Console es fácil. Siga estos pasos para crear una aplicación de Consola:

  1. Inicie Visual Studio. Asegúrese de que Visual Studio está instalado en su ordenador.

  2. Crea un nuevo proyecto:

    Seleccione Archivo > Nuevo > Proyecto.

    Cómo Convertir Un Archivo de Excel a XML en C#: Figura 1 - Nuevo Proyecto

  3. Elija su lenguaje de programación preferido (por ejemplo, C#) del lado izquierdo del cuadro "Crear un nuevo proyecto".

  4. De la lista de plantillas de proyecto disponibles, selecciona la plantilla "Aplicación de consola" o "Aplicación de consola (.NET Core)".

  5. Introduzca un nombre para su proyecto en el campo "Nombre".

    Cómo convertir un archivo Excel a XML en C#: Figura 2 - Configuración del proyecto

  6. Elige la ubicación para almacenar tu proyecto.

  7. Haga clic en "Crear" para empezar a trabajar en su nuevo proyecto de aplicación de consola.

    Cómo convertir un archivo de Excel a XML en C#: Figura 3 - Marco de destino

Instalación de la biblioteca IronXL

Para instalar la biblioteca IronXL, siga estos pasos:

  1. Instala la librería IronXL ya que es necesaria para los siguientes pasos. Utilice el siguiente comando en la consola de NuGet Package Manager:
    Install-Package IronXL

Cómo convertir un archivo de Excel a XML en C#: Figura 4 - Instalar IronXL

  1. Otro método es utilizar el gestor de paquetes NuGet para buscar el paquete "IronXL". Elija el paquete NuGet adecuado para IronXL en los resultados de la búsqueda.

    Cómo Convertir un Archivo Excel a XML en C#: Figura 5 - IronXL

Convertir archivo Excel a XML en C#

Puedes guardar datos de un archivo de Excel en un formato de archivo XML usando la función SaveAsXml de IronXL.

A continuación se muestra un ejemplo de cómo usar la función SaveAsXml en C# con IronXL:

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

Para guardar el archivo XML resultante, sustituya "Archivo XML aquí" por la ubicación adecuada y "Archivo Excel aquí" por la ruta a su archivo Excel real.

Este ejemplo de código importa un archivo de Excel y utiliza la función SaveAsXml proporcionada por IronXL para convertir los datos del archivo Excel en formato XML sin realizar manualmente un bucle a través de las filas y columnas para estructurar el XML. Este método convierte internamente los datos de Excel a formato XML y luego los publica en el archivo XML especificado.

Asegúrese de que dispone de los permisos necesarios para escribir en el directorio cuando guarde el archivo XML. El contenido y el diseño del archivo Excel original pueden influir en el tipo y la estructura del XML resultante.

Archivo de entrada:

Cómo convertir un archivo Excel a XML en C#: Figura 6 - Entrada de Excel

Resultado:

Cómo convertir un archivo de Excel a XML en C#: Figura 7 - Salida XML

Para obtener más información sobre el código, consulte el ejemplo de código aquí.

Conclusión

Una forma fácil y eficiente de exportar datos de un archivo Excel a formato XML es utilizando la función SaveAsXml de IronXL. Este método elimina la necesidad de iterar manualmente por filas y celdas al convertir datos de Excel a formato XML. IronXL es una biblioteca .NET que proporciona esta funcionalidad.

Al utilizar la función SaveAsXml de IronXL en C#, los usuarios pueden convertir fácilmente y rápidamente los datos de Excel a formato XML. IronXL ofrece una edición Community gratuita con limitaciones para uso no comercial. Las versiones de pago de IronXL están disponibles a través de modelos de licencia por suscripción o perpetuos, comenzando en $749. Estas versiones de pago ofrecen características mejoradas, soporte y funcionalidad completa. Para obtener la información más actualizada sobre las licencias, por favor consulte el sitio web de IronXL. Para obtener más información sobre los productos de Iron Software, visite esta página.

Chaknith Bin
Ingeniero de software
Chaknith trabaja en IronXL e IronBarcode. Tiene una gran experiencia en C# y .NET, ayudando a mejorar el software y a apoyar a los clientes. Sus conocimientos de las interacciones con los usuarios contribuyen a mejorar los productos, la documentación y la experiencia general.
< ANTERIOR
Cómo leer datos de un archivo CSV y almacenarlos en una base de datos C#
SIGUIENTE >
Cómo Importar un Archivo Excel a una Base de Datos SQL en VB .NET