Exportar a Excel en .NET 6 para CNMV, Banco de España y SII con IronXL
En este artículo, se utilizará una de las bibliotecas más populares, IronXL, para comparar y contrastar cómo interactuar programáticamente con documentos de Microsoft Excel en tecnologías .NET, ya sea en formato CSV o en el formato estándar de Excel.
En el ecosistema regulatorio español, la exportación de datos a formatos Excel y CSV tiene una dimensión normativa relevante. El Banco de España y la CNMV (Comisión Nacional del Mercado de Valores) exigen informes periódicos en formatos estructurados — habitualmente XLSX — por parte de entidades supervisadas. Del mismo modo, las empresas acogidas al SII (Suministro Inmediato de Información) de la AEAT generan y consumen datos en formatos tabulares que IronXL gestiona de manera eficiente. Este tutorial demuestra cómo aprovechar IronXL en .NET 6 para cubrir estos casos de uso de exportación regulatoria, sin necesidad de Microsoft Excel instalado en el servidor.
2.0 Características de la biblioteca IronXL
Los documentos de Microsoft Excel se pueden leer y convertir a archivos CSV utilizando la biblioteca C# IronXL .NET Excel. IronXL es una biblioteca de software .NET independiente que puede leer múltiples formatos de hojas de cálculo y no requiere la instalación de Microsoft Office ni Microsoft.Office.Interop.Excel.
Con la sencilla API de C# de IronXL, puede leer, modificar y crear rápidamente hojas de cálculo de Excel en el entorno .NET. IronXL es compatible con .NET Core, .NET Framework, Xamarin, Mobile, Linux, macOS y Azure.
- IronXL es una de las mejores bibliotecas de hojas de cálculo de Excel para C#, compatible con .NET Framework y .NET Core.
- IronXL admite casi todos los marcos de .NET, incluidas aplicaciones de consola, formularios de Windows y aplicaciones web.
- IronXL es compatible con los sistemas operativos Windows, Linux y macOS.
- IronXL puede leer archivos de Excel de manera rápida y sin esfuerzo.
- IronXL puede leer una variedad de tipos de archivos de Excel, incluidos XLSX, CSV, XLS, XLST, TSV, XLSM, y otros. IronXL también ofrece muchas opciones, incluyendo la capacidad de importar, actualizar y exportar tablas de datos y conjuntos de datos.
- IronXL es capaz de generar cálculos para Excel.
- IronXL admite varios formatos de datos de columna de Excel, incluyendo texto, números, fórmulas, fechas, monedas y porcentajes.
- IronXL admite los siguientes tipos de datos de columna de Excel: texto, números enteros, fórmulas, fechas, monedas y porcentajes.
Visite el sitio web oficial de IronXL para obtener más información.
3.0 Creación de un proyecto .NET Core 6
Las siguientes secciones de este boletín proporcionan un ejemplo para ilustrar lo fácil que es que la biblioteca IronXL genere códigos QR.
Abra Visual Studio y seleccione "Proyecto nuevo" desde la opción del menú "Archivo".
En el cuadro de diálogo resultante, seleccione la plantilla "Aplicación de Consola" y haga clic en "Siguiente".
Crea un nuevo proyecto en Visual Studio
Ingrese cualquier nombre de proyecto que elija para el nombre del proyecto y luego ingrese la ubicación del nuevo proyecto en el campo de ubicación. Haga clic en el botón Siguiente para continuar.
Configurar tu nuevo proyecto
Seleccione un .NET Framework desde la opción desplegable de Framework. Aquí, estamos usando .NET 6.0, que tiene soporte a largo plazo. Luego haga clic en Crear.
Selección del Framework .NET
A continuación, descargue la biblioteca IronXL requerida para la solución. Para hacerlo, use el siguiente comando en la Consola del Administrador de Paquetes:
Install-Package IronXL.Excel
Pestaña de Consola del Administrador de Paquetes
Alternativamente, el paquete 'IronXL' se puede buscar e instalar usando el Administrador de Paquetes NuGet. Esto listará todos los paquetes NuGet relacionados con IronXL, y luego podrá seleccionar el paquete requerido para descargar.
Buscar e instalar el paquete IronXL en la interfaz del Administrador de Paquetes NuGet
El formulario creado ha añadido un cuadro de diálogo 'Guardar como', que permite guardar las imágenes generadas por IronXL en la ubicación seleccionada.
4.0 Exportar datos usando IronXL
Exportar datos al formato Excel se puede hacer fácilmente usando IronXL, así como exportar datos en varios tipos de archivos, como XLS, XLSX, CSV, JSON y XML, usando IronXL.
4.1 Exportar datos a un archivo Excel
Es muy sencillo exportar datos a formatos .xlsx o .xls con solo unas pocas líneas de código. A continuación, se muestra un ejemplo de código fuente para exportar datos de un archivo Excel en un formato tabular simple:
// Load an existing Excel file into a WorkBook object.
var workbook = IronXL.WorkBook.LoadExcel("Demo file.xlsx");
// Save the entire workbook as export.xlsx.
workbook.SaveAs("export.xlsx");
// Alternatively, save as export.xls.
workbook.SaveAs("export.xls");
// Save a specific worksheet, identified by index, as export.xls.
workbook.WorkSheets[0].SaveAs("export.xls");
// Load an existing Excel file into a WorkBook object.
var workbook = IronXL.WorkBook.LoadExcel("Demo file.xlsx");
// Save the entire workbook as export.xlsx.
workbook.SaveAs("export.xlsx");
// Alternatively, save as export.xls.
workbook.SaveAs("export.xls");
// Save a specific worksheet, identified by index, as export.xls.
workbook.WorkSheets[0].SaveAs("export.xls");
' Load an existing Excel file into a WorkBook object.
Dim workbook = IronXL.WorkBook.LoadExcel("Demo file.xlsx")
' Save the entire workbook as export.xlsx.
workbook.SaveAs("export.xlsx")
' Alternatively, save as export.xls.
workbook.SaveAs("export.xls")
' Save a specific worksheet, identified by index, as export.xls.
workbook.WorkSheets(0).SaveAs("export.xls")
En el ejemplo anterior, se carga un archivo Excel existente utilizando el método LoadExcel, que permite pasar el nombre del archivo con la ruta de acceso como parámetro. Esto carga el archivo en el objeto 'Workbook'. El objeto WorkBook proporciona un método llamado SaveAs, que permite guardar el documento de Excel como un archivo XLSX o XLS. Este método guarda todo el archivo en el formato elegido.
También es posible seleccionar una hoja de trabajo Excel específica utilizando el valor del índice de la hoja de trabajo o especificando el nombre de la hoja. A continuación, utilice la función SaveAs para exportar los datos de la hoja de cálculo de Excel a un archivo independiente.
Exportación de informes regulatorios CNMV y Banco de España a XLSX con IronXL
Las entidades supervisadas por la CNMV o el Banco de España están obligadas a presentar informes periódicos en formatos estructurados. Aunque los canales oficiales de remisión utilizan XML o portales específicos, los equipos de cumplimiento normativo habitualmente preparan y revisan estos informes en Excel antes de su envío. IronXL permite generar estos ficheros XLSX en .NET 6 desde los datos internos de la entidad:
// Generar informe regulatorio CNMV en formato XLSX con IronXL
var workbook = IronXL.WorkBook.Create(IronXL.ExcelFileFormat.XLSX);
var wsInfome = workbook.CreateWorkSheet("Informe_CNMV_Q1");
// Cabeceras del informe de posiciones
wsInfome["A1"].Value = "ISIN";
wsInfome["B1"].Value = "Denominacion";
wsInfome["C1"].Value = "VolumenNominal";
wsInfome["D1"].Value = "PrecioMercado";
wsInfome["E1"].Value = "ValorMercado";
wsInfome["F1"].Value = "FechaValoracion";
// Estilo de cabecera
wsInfome["A1:F1"].Style.Font.Bold = true;
// Datos de posiciones (ejemplo simplificado)
wsInfome["A2"].Value = "ES0109067019";
wsInfome["B2"].Value = "Iberdrola SA";
wsInfome["C2"].Value = 500000;
wsInfome["D2"].Value = 12.45;
wsInfome["E2"].Value = 6225000.00;
wsInfome["F2"].Value = "29/05/2026";
// Guardar como XLSX conforme para revisión del equipo de cumplimiento
workbook.SaveAs("informe_cnmv_posiciones_Q1_2026.xlsx");
// Generar informe regulatorio CNMV en formato XLSX con IronXL
var workbook = IronXL.WorkBook.Create(IronXL.ExcelFileFormat.XLSX);
var wsInfome = workbook.CreateWorkSheet("Informe_CNMV_Q1");
// Cabeceras del informe de posiciones
wsInfome["A1"].Value = "ISIN";
wsInfome["B1"].Value = "Denominacion";
wsInfome["C1"].Value = "VolumenNominal";
wsInfome["D1"].Value = "PrecioMercado";
wsInfome["E1"].Value = "ValorMercado";
wsInfome["F1"].Value = "FechaValoracion";
// Estilo de cabecera
wsInfome["A1:F1"].Style.Font.Bold = true;
// Datos de posiciones (ejemplo simplificado)
wsInfome["A2"].Value = "ES0109067019";
wsInfome["B2"].Value = "Iberdrola SA";
wsInfome["C2"].Value = 500000;
wsInfome["D2"].Value = 12.45;
wsInfome["E2"].Value = 6225000.00;
wsInfome["F2"].Value = "29/05/2026";
// Guardar como XLSX conforme para revisión del equipo de cumplimiento
workbook.SaveAs("informe_cnmv_posiciones_Q1_2026.xlsx");
Imports IronXL
' Generar informe regulatorio CNMV en formato XLSX con IronXL
Dim workbook = WorkBook.Create(ExcelFileFormat.XLSX)
Dim wsInfome = workbook.CreateWorkSheet("Informe_CNMV_Q1")
' Cabeceras del informe de posiciones
wsInfome("A1").Value = "ISIN"
wsInfome("B1").Value = "Denominacion"
wsInfome("C1").Value = "VolumenNominal"
wsInfome("D1").Value = "PrecioMercado"
wsInfome("E1").Value = "ValorMercado"
wsInfome("F1").Value = "FechaValoracion"
' Estilo de cabecera
wsInfome("A1:F1").Style.Font.Bold = True
' Datos de posiciones (ejemplo simplificado)
wsInfome("A2").Value = "ES0109067019"
wsInfome("B2").Value = "Iberdrola SA"
wsInfome("C2").Value = 500000
wsInfome("D2").Value = 12.45
wsInfome("E2").Value = 6225000.0
wsInfome("F2").Value = "29/05/2026"
' Guardar como XLSX conforme para revisión del equipo de cumplimiento
workbook.SaveAs("informe_cnmv_posiciones_Q1_2026.xlsx")
Este patrón permite al equipo de cumplimiento revisar el informe en Excel antes de su carga en el portal de la CNMV o del Banco de España, reduciendo errores y garantizando la trazabilidad del proceso. La pipeline completa se ejecuta en .NET 6 sin necesidad de Microsoft Office, lo que facilita su despliegue en entornos de servidor o contenedores Docker.
4.2 Exportar datos a un archivo CSV
También podemos exportar datos al formato CSV usando IronXL. A continuación se muestra un ejemplo de código para exportar la fuente de datos al formato CSV:
// Load an existing Excel file into an WorkBook object.
var excelDoc = IronXL.WorkBook.LoadExcel("Demo file.xlsx");
// Save the loaded Excel document as a CSV file.
excelDoc.SaveAsCsv("export.csv");
// Load an existing Excel file into an WorkBook object.
var excelDoc = IronXL.WorkBook.LoadExcel("Demo file.xlsx");
// Save the loaded Excel document as a CSV file.
excelDoc.SaveAsCsv("export.csv");
' Load an existing Excel file into an WorkBook object.
Dim excelDoc = IronXL.WorkBook.LoadExcel("Demo file.xlsx")
' Save the loaded Excel document as a CSV file.
excelDoc.SaveAsCsv("export.csv")
El código anterior es similar a exportar a XLS. IronXL proporciona un método independiente denominado SaveAsCsv, que ayuda a exportar archivos XLSX a archivos CSV. Es fácil y simple de usar. En el código anterior, un archivo XLSX se carga, convierte y guarda en un archivo CSV con solo unas pocas líneas de código. También podemos pasar entradas del usuario, como una contraseña, como parámetro en el método LoadExcel.
4.3 Exportar datos a un archivo JSON
Guardar archivos XLSX como JSON nunca ha sido tan fácil al usar el siguiente código:
// Load the Excel document into an WorkBook object.
var excelDoc = IronXL.WorkBook.LoadExcel("Demo file.xlsx");
// Save the loaded document as a JSON file.
excelDoc.SaveAsJson("export.json");
// Alternatively, save as an XML file.
excelDoc.SaveAsXml("export.xml");
// Load the Excel document into an WorkBook object.
var excelDoc = IronXL.WorkBook.LoadExcel("Demo file.xlsx");
// Save the loaded document as a JSON file.
excelDoc.SaveAsJson("export.json");
// Alternatively, save as an XML file.
excelDoc.SaveAsXml("export.xml");
' Load the Excel document into an WorkBook object.
Dim excelDoc = IronXL.WorkBook.LoadExcel("Demo file.xlsx")
' Save the loaded document as a JSON file.
excelDoc.SaveAsJson("export.json")
' Alternatively, save as an XML file.
excelDoc.SaveAsXml("export.xml")
El código de muestra anterior demuestra que IronXL proporciona métodos separados para guardar archivos como XML y JSON, que se pueden implementar fácilmente.
IronXL ofrece características como filas de encabezado, tamaños de fuente, fórmulas, colores y más. Visite los tutoriales de IronXL para obtener más información.
Exportación de datos del SII a Excel: pipeline de revisión interna
Antes de la remisión al SII de la AEAT, muchos departamentos fiscales realizan una revisión interna de los libros de facturas emitidas y recibidas. IronXL permite exportar estos datos desde el sistema de facturación a un XLSX revisable, incorporando reglas de validación visual (formato condicional, sumas de control) que facilitan la detección de errores antes de la transmisión. La LOPDGDD exige que estos ficheros de revisión sean tratados con las medidas de seguridad adecuadas y eliminados una vez finalizada la revisión, al contener datos personales de clientes y proveedores.
Conclusión
IronXL es una de las utilidades de Excel más utilizadas que puede operar de manera independiente de cualquier otra biblioteca externa. No requiere que Microsoft Excel esté instalado y utiliza una variedad de canales para funcionar.
Para todas las tareas relacionadas con documentos de Microsoft Excel que necesitan ser implementadas programáticamente, IronXL ofrece una solución todo en uno. Puede realizar cálculos de fórmulas, ordenar cadenas o números, cortar y agregar datos, buscar y reemplazar, fusionar y descomponer celdas, y guardar archivos. Además, le permite establecer formatos de datos de celda y realizar validación de datos de hojas de cálculo. También puede leer y escribir archivos CSV, lo que le permite interactuar con datos de Excel.
En el contexto regulatorio español, IronXL resulta la herramienta más adecuada para los equipos de desarrollo que construyen soluciones de exportación de datos hacia la AEAT (modelos SII, Modelo 303, Modelo 347), el Banco de España, la CNMV o los sistemas TicketBAI de los territorios forales. Su independencia de Microsoft Office, su compatibilidad con .NET 6 y versiones posteriores, y su capacidad para generar XLSX y CSV con control tipológico preciso lo convierten en una pieza fundamental de cualquier arquitectura de cumplimiento normativo moderna en España.
IronXL está disponible por $999 en el momento del lanzamiento y ofrece a los clientes la opción de pagar una cuota de suscripción anual para obtener actualizaciones y asistencia técnica. Por un cargo adicional, IronXL proporciona seguridad para la redistribución sin restricciones. Visite la página de licencias para obtener más detalles sobre la información de precios.
Preguntas Frecuentes
¿Cómo puedo exportar datos a Excel en .NET 6 sin usar Interop?
Puedes usar la librería IronXL para exportar datos a Excel en .NET 6 sin depender de Microsoft.Office.Interop.Excel. IronXL te permite crear, modificar y guardar archivos Excel en varios formatos como XLS, XLSX, CSV, JSON y XML, incluyendo informes regulatorios para la CNMV, el Banco de España y el SII de la AEAT.
¿Cuáles son los beneficios de usar IronXL para operaciones en Excel en .NET?
IronXL proporciona una API de C# simple para operaciones en Excel, soportando múltiples formatos incluyendo XLS, XLSX y CSV. Opera independientemente de Microsoft Excel, es compatible con varios marcos .NET y funciona en Windows, Linux y macOS, lo que facilita su despliegue en entornos de servidor para la generación de informes regulatorios del Banco de España y la CNMV.
¿Qué pasos están involucrados en la instalación de IronXL en un proyecto .NET 6?
Para instalar IronXL en un proyecto .NET 6, puedes usar la Consola del Administrador de Paquetes con el comando Install-Package IronXL.Excel o usar el Administrador de Paquetes NuGet en Visual Studio para encontrar e instalar 'IronXL'.
¿Cómo generar informes XLSX para la CNMV o el Banco de España con IronXL en .NET 6?
IronXL permite crear WorkBooks con los campos requeridos por los informes regulatorios (ISIN, denominación, volumen nominal, precio de mercado, valor de mercado, fecha de valoración), aplicar formato de cabecera y guardar como XLSX con SaveAs(). El equipo de cumplimiento puede revisar el informe en Excel antes de su carga en el portal de la CNMV o del Banco de España.
¿Cómo puede IronXL ayudar con la exportación de datos del SII a Excel para revisión interna?
IronXL permite generar ficheros XLSX con los libros de facturas emitidas y recibidas del SII para revisión interna del equipo fiscal, aplicando formato condicional y sumas de control para detectar errores antes de la transmisión a la AEAT. La LOPDGDD exige que estos ficheros sean tratados con medidas de seguridad adecuadas y eliminados tras la revisión.
¿Es capaz IronXL de manejar fórmulas y formato de datos en Excel?
Sí, IronXL soporta fórmulas de Excel y te permite establecer formatos de datos para las celdas, facilitando la realización de cálculos y asegurando que los datos se presenten de manera consistente en informes regulatorios.
¿Requiere IronXL que Microsoft Office esté instalado para operaciones en Excel?
No, IronXL no requiere Microsoft Office ni ninguna aplicación Excel externa para funcionar. Es una librería independiente que maneja operaciones en Excel de manera autónoma, ideal para despliegues en servidores de informes regulatorios sin interfaz gráfica.
¿A qué formatos de archivo puede IronXL exportar datos?
IronXL puede exportar datos a varios formatos de archivo, incluyendo XLS, XLSX, CSV (con delimitador personalizable para compatibilidad AEAT), JSON y XML, proporcionando flexibilidad en cómo se almacenan y comparten los datos regulatorios.
¿Puede IronXL usarse con aplicaciones .NET Core?
Sí, IronXL es compatible con .NET Core, así como con .NET Framework, Xamarin, Móvil, Azure, y más, haciéndolo versátil para diferentes tipos de aplicaciones, incluyendo pipelines de cumplimiento normativo para CNMV, Banco de España y AEAT.



