Saltar al pie de página
USANDO IRONXL

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

Microsoft Excel es una aplicación de hoja de cálculo multifuncional muy utilizada, conocida por su eficacia en la organización, análisis y visualización de datos. Funciona de manera similar a una cuadrícula donde los usuarios pueden ingresar 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 una gestión sencilla. Sus robustas 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 administrar y evaluar datos, así como para producir gráficos y diagramas que representan visualmente los datos. Facilita los esfuerzos colaborativos al permitir que varios usuarios editen y compartan archivos simultáneamente. Se puede personalizar y automatizar con el uso de macros, VBA y complementos debido a su adaptabilidad a una variedad de demandas de usuario en todos los sectores. La clase de libro de Excel se usa en una variedad de campos, incluidos la banca, la educación, la investigación y la analítica empresarial. Es una herramienta esencial para organizar, evaluar y usar datos para informar decisiones. En este artículo, vamos a aprender cómo convertir Excel a XML en C#.

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

  1. Crea un proyecto de Consola en Visual Studio.
  2. Instala la biblioteca IronXL.
  3. Inicializa el objeto necesario de IronXL.
  4. Crea un nuevo archivo de Excel (XLS o XLSX) o carga el archivo de Excel en el objeto creado.
  5. Usa el método SaveAsXml dentro de la clase XMLSaveOptions para convertir el archivo cargado en XML.
  6. Desecha los objetos de 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 biblioteca IronXL. Luego, inicializamos el objeto IronXL y creamos o cargamos el archivo de Excel. Finalmente, usamos el método SaveAsXml con la clase XMLSaveOptions para convertir el archivo cargado en XML. No olvides desechar los objetos de IronXL después de usarlos.

¿Qué es IronXL?

Una potente biblioteca de Excel para .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 de Excel más rápida y fácilmente. También está disponible una amplia gama de herramientas y funciones.

Las características y propiedades clave de IronXL incluyen:

  • Manejo de datos: IronXL facilita la lectura, escritura y manipulación de datos en hojas de cálculo de Excel. Se puede utilizar un arreglo bidimensional para obtener valores de celdas, y se pueden realizar fórmulas, cálculos y formateo de datos.
  • Creación y Modificación de Archivos de Excel: Los desarrolladores pueden agregar, eliminar y administrar hojas de trabajo además de crear nuevos archivos de Excel y modificar aquellos que ya existen. Además, pueden comunicarse con una variedad de componentes de Excel usando archivos DLL.
  • Versatilidad y Compatibilidad: IronXL puede utilizarse en una variedad de escenarios de aplicación debido a su interoperabilidad multiplataforma y puede integrarse con múltiples plataformas .NET, incluyendo Xamarin, .NET Core, y .NET Framework.
  • Soporte para Formatos de Excel Tanto Legado como Modernos: Soporta tanto el formato más antiguo de Excel XLS como el más moderno XLSX. Puede manejar formatos más recientes basados en XML (XLSX, desde Excel 2007) así como formatos de archivo de Excel más antiguos (XLS, desde Excel 97–2003).
  • Utilidad: Al ofrecer una API simple con atributos y funciones fácilmente entendibles, la biblioteca incrementa la accesibilidad de actividades relacionadas con Excel para desarrolladores con diferentes niveles de experiencia.
  • Extracción y Exportación de Datos: IronXL facilita la extracción de datos de archivos de Excel y la exportación de datos de Excel a varios formatos, como XML, nuevo DataTable y texto plano, haciendo sencillo el intercambio con bases de datos y otros sistemas.
  • Soporte y Documentación: IronXL proporciona una abundancia de tutoriales, documentación y soporte para asistir a los desarrolladores en el uso de su biblioteca para actividades basadas en Excel.
  • Automatización y Eficiencia: Al automatizar procedimientos de Excel, IronXL permite a los usuarios construir aplicaciones eficientes basadas en datos, aumentar la productividad y gastar menos tiempo en trabajo manual.
  • Integración y Personalización: Facilita la creación de informes personalizados y soluciones basadas en datos al exportar opciones de datos de Excel a una variedad de formatos. También funciona bien con bases de datos y otros sistemas.

Las finanzas, el análisis de datos, los informes, la inteligencia empresarial y el desarrollo de software son solo algunos de los muchos sectores que utilizan IronXL. Combinar la manipulación de datos con la integración de Excel permite a los programadores trabajar con archivos de Excel y producir soluciones confiables. Para obtener más información, visita este enlace.

Crear un nuevo proyecto de Visual Studio

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

  1. Abre Visual Studio. Asegúrate de que Visual Studio esté instalado en tu computadora.
  2. Crea un nuevo proyecto: Selecciona Archivo > Nuevo > Proyecto.

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

  1. Elige tu lenguaje de programación preferido (por ejemplo, C#) desde el lado izquierdo del cuadro "Crear un nuevo proyecto".
  2. Desde la lista de plantillas de proyectos disponibles, selecciona la plantilla "Aplicación de Consola" o "Aplicación de Consola (.NET Core)".
  3. Proporciona un nombre para tu proyecto en el campo "Nombre".

Cómo Convertir Un Archivo de Excel a XML en C#: Figura 2 - Configuración del Proyecto

  1. Elige la ubicación para almacenar tu proyecto.
  2. Haz clic en "Crear" para comenzar a trabajar en tu nuevo proyecto de aplicación de Consola.

Cómo Convertir Un Archivo de Excel a XML en C#: Figura 3 - Marco de Trabajo Objetivo

Instalación de la biblioteca IronXL

Para instalar la biblioteca IronXL, sigue estos pasos:

  1. Instala la biblioteca IronXL ya que es requerida para los siguientes pasos. Usa el siguiente comando en la Consola del Administrador de Paquetes de NuGet:

    Install-Package IronXL
    Install-Package IronXL
    SHELL

    Cómo Convertir Un Archivo de Excel a XML en C#: Figura 4 - Instalar IronXL

  2. Otra forma es usar el Administrador de Paquetes de NuGet para buscar el paquete "IronXL". Elige el paquete NuGet apropiado para IronXL de los resultados de búsqueda.

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

Convertir archivo de 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.

Aquí tienes un ejemplo de cómo usar la función SaveAsXml en C# con IronXL:

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

Para guardar el archivo XML resultante, reemplaza "ruta_a_archivo_xml_de_salida.xml" con la ubicación apropiada y "ruta_a_archivo_excel.xlsx" con la ruta a tu archivo de Excel real.

Este ejemplo de código carga un archivo de Excel y usa la función SaveAsXml proporcionada por IronXL para convertir los datos del archivo de Excel en formato XML sin necesidad de recorrer manualmente filas y columnas para estructurar el XML. Este método convierte internamente los datos de Excel al formato XML y luego los guarda en el archivo XML especificado.

Asegúrate de tener los permisos necesarios para escribir en el directorio al guardar el archivo XML. El contenido y el diseño del archivo de Excel original pueden influir en el tipo y estructura del XML resultante.

Archivo de entrada:

Cómo Convertir Un Archivo de Excel a XML en C#: Figura 6 - Entrada de Excel

Result:

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, consulta el ejemplo de código aquí.

Conclusión

Una manera fácil y eficiente de exportar datos de un archivo de Excel a formato XML es usar la función SaveAsXml de IronXL. Este método elimina la necesidad de iteración manual a través de filas y celdas al convertir datos de Excel a formato XML. IronXL es una biblioteca de .NET que proporciona esta funcionalidad.

Al utilizar la función SaveAsXml de IronXL en C#, los usuarios pueden convertir fácilmente y rápidamente datos de Excel a formato XML. IronXL ofrece una Edición de Comunidad 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 basados en perpetuidad, comenzando en $799. Estas versiones de pago ofrecen funciones mejoradas, soporte y funcionalidad completa. Para obtener la información más actualizada sobre licencias, por favor consulta el sitio web de IronXL. Para obtener más información sobre los productos de Iron Software, visita esta página.

Preguntas Frecuentes

¿Cómo puedo convertir un archivo Excel a XML en C#?

Puedes convertir un archivo Excel a XML en C# usando la biblioteca IronXL. Primero, configura un proyecto de consola de Visual Studio e instala IronXL a través de NuGet. Luego, carga o crea tu archivo Excel y utiliza el método SaveAsXml dentro de la clase XMLSaveOptions para realizar la conversión.

¿Cuáles son las ventajas de usar IronXL para la conversión de Excel a XML?

IronXL ofrece una API sencilla que simplifica el proceso de conversión de archivos Excel a XML. Maneja la conversión internamente, lo que permite una fácil integración con aplicaciones .NET sin la necesidad de iteración manual de datos.

¿Es IronXL compatible con formatos XLS y XLSX para la conversión?

Sí, IronXL es compatible con formatos de archivo XLS y XLSX, proporcionando versatilidad para diversas tareas de manipulación y conversión de archivos Excel.

¿Cuáles son los pasos de instalación de IronXL en un proyecto de Visual Studio?

Para instalar IronXL en Visual Studio, puedes usar la Consola del Administrador de Paquetes de NuGet con el comando Install-Package IronXL, o puedes buscar IronXL en el Administrador de Paquetes de NuGet e instalarlo directamente desde allí.

¿Cómo puedo asegurarme de desechar correctamente los objetos de IronXL después de su uso?

Después de usar objetos de IronXL, asegúrate de desecharlos correctamente para liberar recursos. Esto se puede hacer llamando al método Dispose en los objetos una vez que ya no se necesiten.

¿Qué lenguajes de programación son compatibles con IronXL?

IronXL se puede usar con varios lenguajes .NET, incluidos C# y VB.NET, convirtiéndolo en una opción versátil para desarrolladores que trabajan en aplicaciones que requieren integración con Excel.

¿Qué opciones de licencia están disponibles para IronXL?

IronXL proporciona una edición comunitaria gratuita para uso no comercial con limitaciones, y para fines comerciales, versiones pagadas con características mejoradas y soporte están disponibles a través de suscripción o licencias perpetuas.

¿Cómo facilita IronXL la exportación de datos de Excel a otros formatos?

IronXL permite una extracción y exportación de datos sin problemas de archivos Excel a varios formatos, como XML y texto simple, mejorando la integración con bases de datos y otros sistemas.

Jordi Bardia
Ingeniero de Software
Jordi es más competente en Python, C# y C++. Cuando no está aprovechando sus habilidades en Iron Software, está programando juegos. Compartiendo responsabilidades para pruebas de productos, desarrollo de productos e investigación, Jordi agrega un valor inmenso a la mejora continua del producto. La experiencia variada lo mantiene ...
Leer más