USO DE IRONXL

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

Actualizado 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 los datos, así como para elaborar gráficos y diagramas que los representen visualmente. 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. Crear un nuevo archivo Excel (XLS o XLSX) o cargar el archivo 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()
    {
        //  Paso 2: Instalar la biblioteca IronXL

        //  Paso 3: Inicializar el objeto IronXL
        WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);

        //  Paso 4: Crear o cargar un archivo Excel
        //  Crear un nuevo archivo Excel
        WorkSheet worksheet = workbook.CreateWorkSheet("Sheet1");
        worksheet ["A1"].Value = "Hello";
        worksheet ["B1"].Value = "World";

        //  O cargar un archivo Excel existente
        workbook = WorkBook.Load("path_to_excel_file.xlsx");

        //  Paso 5: Convertir Excel a XML
        XMLSaveOptions saveOptions = new XMLSaveOptions();
        workbook.SaveAsXml("path_to_output_xml_file.xml", saveOptions);

        //  Paso 6: Deshacerse de los objetos IronXL
        worksheet.Dispose();
        workbook.Dispose();
    }
}
using IronXL;

class Program
{
    static void Main()
    {
        //  Paso 2: Instalar la biblioteca IronXL

        //  Paso 3: Inicializar el objeto IronXL
        WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);

        //  Paso 4: Crear o cargar un archivo Excel
        //  Crear un nuevo archivo Excel
        WorkSheet worksheet = workbook.CreateWorkSheet("Sheet1");
        worksheet ["A1"].Value = "Hello";
        worksheet ["B1"].Value = "World";

        //  O cargar un archivo Excel existente
        workbook = WorkBook.Load("path_to_excel_file.xlsx");

        //  Paso 5: Convertir Excel a XML
        XMLSaveOptions saveOptions = new XMLSaveOptions();
        workbook.SaveAsXml("path_to_output_xml_file.xml", saveOptions);

        //  Paso 6: Deshacerse de los objetos IronXL
        worksheet.Dispose();
        workbook.Dispose();
    }
}
Imports IronXL

Friend Class Program
	Shared Sub Main()
		'  Paso 2: Instalar la biblioteca IronXL

		'  Paso 3: Inicializar el objeto IronXL
		Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)

		'  Paso 4: Crear o cargar un archivo Excel
		'  Crear un nuevo archivo Excel
		Dim worksheet As WorkSheet = workbook.CreateWorkSheet("Sheet1")
		worksheet ("A1").Value = "Hello"
		worksheet ("B1").Value = "World"

		'  O cargar un archivo Excel existente
		workbook = WorkBook.Load("path_to_excel_file.xlsx")

		'  Paso 5: Convertir Excel a XML
		Dim saveOptions As New XMLSaveOptions()
		workbook.SaveAsXml("path_to_output_xml_file.xml", saveOptions)

		'  Paso 6: Deshacerse de los objetos IronXL
		worksheet.Dispose()
		workbook.Dispose()
	End Sub
End Class
VB   C#

En el código anterior, primero instalamos la librería IronXL. A continuación, inicializamos el objeto IronXL y creamos o cargamos el archivo Excel. Por último, 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 Excel de .NET framework llamada IronXL se creó para facilitar el manejo de 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 Excel heredados y modernos: Puede admitir formularios más recientes basados en XML (XLSX, que data de Excel 2007) así como formatos de archivo Excel más antiguos (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 más información, visite 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 Excel a XML en C#: Figura 1 - Nuevo Proyecto

  3. Elija su lenguaje de programación preferido (por ejemplo, C#) de la parte izquierda del cuadro "Crear un nuevo proyecto".
  4. En la lista de plantillas de proyecto disponibles, seleccione "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 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 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#

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

He aquí un ejemplo de cómo utilizar 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";

        //  Cargar archivo Excel usando IronXL
        WorkBook workbook = WorkBook.Load(excelFilePath);

        //  Guardar datos Excel como 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";

        //  Cargar archivo Excel usando IronXL
        WorkBook workbook = WorkBook.Load(excelFilePath);

        //  Guardar datos Excel como 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"

		'  Cargar archivo Excel usando IronXL
		Dim workbook As WorkBook = WorkBook.Load(excelFilePath)

		'  Guardar datos Excel como XML
		workbook.SaveAsXml(xmlFilePath)

		Console.WriteLine("Excel data saved as XML successfully at: " & xmlFilePath)
	End Sub
End Class
VB   C#

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 Excel y utiliza la función SaveAsXml provista por IronXL para convertir los datos del archivo Excel a formato XML sin tener que recorrer manualmente 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 Excel

Resultado:

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

Para obtener más información sobre el código, consulte la página ejemplo de código.

Conclusión

Una forma fácil y eficiente de exportar datos desde 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.

Utilizando la función SaveAsXml de IronXL en C#, los usuarios pueden convertir fácil y rápidamente 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 suscripción o de licencia perpetua, a partir de $599. Estas versiones de pago ofrecen características mejoradas, soporte y funcionalidad completa. Para obtener la información más actualizada sobre licencias, consulte la página de IronXL sitio web. Para obtener más información sobre los productos de Iron Software, visite este enlace página.

< 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

¿Listo para empezar? Versión: 2024.7 recién publicada

Descarga gratuita de NuGet Descargas totales: 897,936 Ver licencias >
123