Saltar al pie de página
USANDO IRONXL

IronXL para AEAT modelo 303: Exportar DataTable a Excel en ASP.NET sin Interop

Para empresas españolas que deben presentar declaraciones ante la AEAT —como el modelo 303 (IVA trimestral), el 347 (operaciones con terceros) o el 390 (resumen anual de IVA)— exportar un DataTable a un fichero XLSX es un paso crítico en el flujo de cumplimiento fiscal. IronXL simplifica esta tarea en ASP.NET sin necesidad de Microsoft Office, lo que permite ejecutar el proceso en servidores Linux/Docker y cumplir con la LOPDGDD al controlar qué columnas se exportan.

Este artículo explorará las diferentes formas de exportar DataTable a un archivo Excel y los beneficios de hacerlo en el contexto de la normativa fiscal y de protección de datos española.

1. IronXL

IronXL es una poderosa biblioteca .NET que proporciona a los desarrolladores la capacidad de leer, escribir y manipular archivos Excel utilizando ASP.NET. Ofrece una serie de características que simplifican el proceso de trabajo con archivos Excel, como extracción de datos, formato y validación.

IronXL puede manejar formatos de archivo tanto XLS como XLSX, lo que lo convierte en una herramienta versátil para trabajar con archivos Excel. También admite una variedad de otros formatos de archivo como CSV y TSV, permitiendo a los usuarios trabajar con diferentes fuentes de datos. Para flujos de trabajo SII (Suministro Inmediato de Información), IronXL puede leer los CSVs de facturas exportados por el ERP y convertirlos al XLSX requerido para la declaración ante la AEAT, todo desde un servidor Linux sin licencias de Office.

Este artículo explorará las diferentes características de IronXL y cómo puede ayudar a los desarrolladores a agilizar el proceso de trabajo con archivos Excel en el contexto fiscal español.

2. Requisitos previos

Requisitos previos para exportar datos de DataTable a Excel usando la biblioteca IronXL :

  • Para crear un proyecto ASP.NET, se necesita tener instalado Visual Studio en su sistema. Si no tiene Visual Studio, puede descargarlo desde el sitio web de Microsoft.
  • Antes de crear un proyecto ASP.NET, necesita asegurarse de que ASP.NET esté instalado en su sistema. Puede verificar esto yendo al Panel de Control y comprobando la opción 'Activar o desactivar las características de Windows'. Asegúrese de que la opción "ASP.NET" esté habilitada.
  • Para poder exportar datos de DataTable a un archivo Excel usando la biblioteca IronXL , debe tenerla instalada. Puede instalarla descargando el paquete IronXL NuGet desde el Administrador de Paquetes NuGet dentro de Visual Studio.

3. Creación de un nuevo proyecto ASP.NET Core

Para utilizar la biblioteca IronXL con Excel, necesita crear un proyecto .NET en Visual Studio. Puede utilizar cualquier versión de Visual Studio, pero se recomienda usar la última versión. Dependiendo de sus requisitos, puede elegir entre diferentes plantillas de proyectos, como Windows Forms. Para facilitar las cosas, se utilizará la Aplicación de Consola para este tutorial.

Cómo exportar una tabla de datos a Excel en ASP.NET, Figura 1: Crear un nuevo proyecto en Visual Studio Crea un nuevo proyecto en Visual Studio

Después de seleccionar el tipo de Proyecto, proporcione un nombre para el proyecto y designe su ubicación. Elija el Framework deseado, como .NET Core 6, para el proyecto.

Cómo exportar una tabla de datos a Excel en ASP.NET, Figura 2: Configurar el nuevo proyecto Configurar el nuevo proyecto

Una vez creada la solución, se abrirá el archivo Program.cs, que le permitirá ingresar código y construir/ejecutar la aplicación.

Cómo exportar una tabla de datos a Excel en ASP.NET, Figura 3: Selección de .NET Framework Selección del Framework .NET

Finalmente, puede incorporar la biblioteca para probar el código.

4. Instalar IronXL

La Biblioteca de IronXL puede descargarse e instalarse de diferentes maneras.

Estas son:

  • Usando paquetes NuGet de Visual Studio
  • Usando la Línea de Comandos de Visual Studio.

4.1 Uso de Visual Studio

Para instalar la biblioteca IronXL, el enfoque más simple es usar el Administrador de Paquetes NuGet en Visual Studio. Simplemente abra el Administrador de Paquetes NuGet y busque IronXL en la pestaña de Exploración. Una vez que haya encontrado IronXL en los resultados de búsqueda, selecciónelo y continúe con la instalación. Una vez completada la instalación, puede comenzar a usar la biblioteca IronXL en su proyecto.

La siguiente captura de pantalla muestra cómo abrir el Administrador de Paquetes NuGet en Visual Studio.

Cómo exportar una tabla de datos a Excel en ASP.NET, Figura 4: Navegar al Administrador de paquetes NuGet Navega al Administrador de Paquetes NuGet

IronXL en los resultados de búsqueda:

Cómo exportar una tabla de datos a Excel en ASP.NET, Figura 5: Busque e instale el paquete IronXL en la interfaz de usuario del Administrador de paquetes NuGet Buscar e instalar el paquete IronXL en la interfaz del Administrador de Paquetes NuGet

4.2 Uso de la línea de comandos de Visual Studio

Muchas personas prefieren instalar paquetes utilizando la interfaz de línea de comandos. Para instalar IronXL usando la línea de comandos, siga estos pasos:

  • En Visual Studio, vaya a Herramientas > Administrador de Paquetes NuGet > Consola de Administrador de Paquetes.
  • Ingrese la siguiente línea en la pestaña de la Consola del Administrador de Paquetes:
Install-Package IronXL.Excel

Ahora el paquete se descargará/instalará en el proyecto actual y estará listo para usar.

Cómo exportar una tabla de datos a Excel en ASP.NET, Figura 6: Progreso de la instalación en la consola del administrador de paquetes Progreso de la instalación en la Consola del Administrador de Paquetes

5. Creación de un archivo de Excel usando DataTable DT con IronXL

Exportar datos de tablas de datos al formato de archivo Excel es bastante popular. Con IronXL, puede exportar fácilmente datos de DataTable a un documento de Excel. El ejemplo de código de muestra adjunto a continuación convertirá un DataTable en una hoja de cálculo de Excel guardada en el formato de archivo XLSX.

5.1. Tabla de datos a archivo de Excel

Primero, necesita incluir el espacio de nombres de IronXL y otras dependencias. Luego puede comenzar a escribir el siguiente código, como se muestra a continuación.

using IronXL;
using System.Data;

class Program
{
    static void Main()
    {
        // Create a new DataTable.
        DataTable dt = new DataTable();
        dt.Columns.Add("DataSet", typeof(string)); // Add a column to the DataTable.

        // Add rows to the DataTable.
        dt.Rows.Add("Pen");
        dt.Rows.Add("Paper");
        dt.Rows.Add("Book");
        dt.Rows.Add("Cat");
        dt.Rows.Add("Panther");
        dt.Rows.Add("Cell");
        dt.Rows.Add("Bag");
        dt.Rows.Add("Bed");
        dt.Rows.Add("Fan");
        dt.Rows.Add("Smoke");

        // Create a new workbook.
        WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
        // Get the default worksheet.
        WorkSheet ws = wb.DefaultWorkSheet;
        // Start adding data from row 1.
        int rowCount = 1;

        // Populate the worksheet with data from the DataTable.
        foreach (DataRow row in dt.Rows)
        {
            ws["A" + (rowCount)].Value = row[0].ToString();
            rowCount++;
        }

        // Save the workbook as an XLSX file.
        wb.SaveAs("datatable.xlsx");
    }
}
using IronXL;
using System.Data;

class Program
{
    static void Main()
    {
        // Create a new DataTable.
        DataTable dt = new DataTable();
        dt.Columns.Add("DataSet", typeof(string)); // Add a column to the DataTable.

        // Add rows to the DataTable.
        dt.Rows.Add("Pen");
        dt.Rows.Add("Paper");
        dt.Rows.Add("Book");
        dt.Rows.Add("Cat");
        dt.Rows.Add("Panther");
        dt.Rows.Add("Cell");
        dt.Rows.Add("Bag");
        dt.Rows.Add("Bed");
        dt.Rows.Add("Fan");
        dt.Rows.Add("Smoke");

        // Create a new workbook.
        WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
        // Get the default worksheet.
        WorkSheet ws = wb.DefaultWorkSheet;
        // Start adding data from row 1.
        int rowCount = 1;

        // Populate the worksheet with data from the DataTable.
        foreach (DataRow row in dt.Rows)
        {
            ws["A" + (rowCount)].Value = row[0].ToString();
            rowCount++;
        }

        // Save the workbook as an XLSX file.
        wb.SaveAs("datatable.xlsx");
    }
}
Imports IronXL
Imports System.Data

Friend Class Program
	Shared Sub Main()
		' Create a new DataTable.
		Dim dt As New DataTable()
		dt.Columns.Add("DataSet", GetType(String)) ' Add a column to the DataTable.

		' Add rows to the DataTable.
		dt.Rows.Add("Pen")
		dt.Rows.Add("Paper")
		dt.Rows.Add("Book")
		dt.Rows.Add("Cat")
		dt.Rows.Add("Panther")
		dt.Rows.Add("Cell")
		dt.Rows.Add("Bag")
		dt.Rows.Add("Bed")
		dt.Rows.Add("Fan")
		dt.Rows.Add("Smoke")

		' Create a new workbook.
		Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLS)
		' Get the default worksheet.
		Dim ws As WorkSheet = wb.DefaultWorkSheet
		' Start adding data from row 1.
		Dim rowCount As Integer = 1

		' Populate the worksheet with data from the DataTable.
		For Each row As DataRow In dt.Rows
			ws("A" & (rowCount)).Value = row(0).ToString()
			rowCount += 1
		Next row

		' Save the workbook as an XLSX file.
		wb.SaveAs("datatable.xlsx")
	End Sub
End Class
$vbLabelText   $csharpLabel

Resultado

A continuación se muestra el resultado del código fuente anterior, mostrando cómo se ven los datos en el archivo Excel.

Cómo exportar una tabla de datos a Excel en ASP.NET, Figura 7: El archivo de salida de Excel El archivo Excel de salida

5.2. DataTable a formatos de archivo de Excel compatibles

Con IronXL también puedes convertir DataTable a diferentes formatos de archivos compatibles con Excel, como archivos CSV. Usaremos el ejemplo de abajo, pero esta vez lo guardaremos como un archivo CSV. Esto es todo lo que necesita hacer para guardar el libro de trabajo en un formato de archivo diferente.

using IronXL;
using System.Data;

class Program
{
    static void Main()
    {
        // Create a new DataTable.
        DataTable dt = new DataTable();
        dt.Columns.Add("DataSet", typeof(string)); // Add a column to the DataTable.

        // Add rows to the DataTable.
        dt.Rows.Add("Pen");
        dt.Rows.Add("Paper");
        dt.Rows.Add("Book");
        dt.Rows.Add("Cat");
        dt.Rows.Add("Panther");
        dt.Rows.Add("Cell");
        dt.Rows.Add("Bag");
        dt.Rows.Add("Bed");
        dt.Rows.Add("Fan");
        dt.Rows.Add("Smoke");

        // Create a new workbook.
        WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
        // Get the default worksheet.
        WorkSheet ws = wb.DefaultWorkSheet;
        // Start adding data from row 1.
        int rowCount = 1;

        // Populate the worksheet with data from the DataTable.
        foreach (DataRow row in dt.Rows)
        {
            ws["A" + (rowCount)].Value = row[0].ToString();
            rowCount++;
        }

        // Save the workbook as a CSV file.
        wb.SaveAsCsv("datatable.csv");
    }
}
using IronXL;
using System.Data;

class Program
{
    static void Main()
    {
        // Create a new DataTable.
        DataTable dt = new DataTable();
        dt.Columns.Add("DataSet", typeof(string)); // Add a column to the DataTable.

        // Add rows to the DataTable.
        dt.Rows.Add("Pen");
        dt.Rows.Add("Paper");
        dt.Rows.Add("Book");
        dt.Rows.Add("Cat");
        dt.Rows.Add("Panther");
        dt.Rows.Add("Cell");
        dt.Rows.Add("Bag");
        dt.Rows.Add("Bed");
        dt.Rows.Add("Fan");
        dt.Rows.Add("Smoke");

        // Create a new workbook.
        WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
        // Get the default worksheet.
        WorkSheet ws = wb.DefaultWorkSheet;
        // Start adding data from row 1.
        int rowCount = 1;

        // Populate the worksheet with data from the DataTable.
        foreach (DataRow row in dt.Rows)
        {
            ws["A" + (rowCount)].Value = row[0].ToString();
            rowCount++;
        }

        // Save the workbook as a CSV file.
        wb.SaveAsCsv("datatable.csv");
    }
}
Imports IronXL
Imports System.Data

Friend Class Program
	Shared Sub Main()
		' Create a new DataTable.
		Dim dt As New DataTable()
		dt.Columns.Add("DataSet", GetType(String)) ' Add a column to the DataTable.

		' Add rows to the DataTable.
		dt.Rows.Add("Pen")
		dt.Rows.Add("Paper")
		dt.Rows.Add("Book")
		dt.Rows.Add("Cat")
		dt.Rows.Add("Panther")
		dt.Rows.Add("Cell")
		dt.Rows.Add("Bag")
		dt.Rows.Add("Bed")
		dt.Rows.Add("Fan")
		dt.Rows.Add("Smoke")

		' Create a new workbook.
		Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLS)
		' Get the default worksheet.
		Dim ws As WorkSheet = wb.DefaultWorkSheet
		' Start adding data from row 1.
		Dim rowCount As Integer = 1

		' Populate the worksheet with data from the DataTable.
		For Each row As DataRow In dt.Rows
			ws("A" & (rowCount)).Value = row(0).ToString()
			rowCount += 1
		Next row

		' Save the workbook as a CSV file.
		wb.SaveAsCsv("datatable.csv")
	End Sub
End Class
$vbLabelText   $csharpLabel

Cómo exportar una tabla de datos a Excel en ASP.NET, Figura 8: El archivo CSV de salida El archivo CSV de salida

5.3. Exportar DataTable a XLSX para el modelo 303 de la AEAT

En la práctica española, el flujo más habitual es: obtener los datos de facturación desde la base de datos del ERP en un DataTable, filtrar sólo las columnas necesarias (conforme a la LOPDGDD) y exportarlos al XLSX del modelo 303 (declaración trimestral de IVA) para su presentación ante la AEAT.

El siguiente ejemplo muestra cómo exportar un DataTable con los registros del SII a un XLSX estructurado para el modelo 303, listo para ser enviado a la AEAT. Este código se ejecuta íntegramente en Linux/Docker sin Office, lo que lo hace apto para entidades reguladas por el Banco de España o la CNMV:

using IronXL;
using System.Data;

class ExportarModelo303AEAT
{
    static void Main()
    {
        // DataTable con datos del SII obtenidos del ERP
        // LOPDGDD: sólo se incluyen los campos requeridos por la AEAT para el modelo 303
        DataTable dtSII = new DataTable();
        dtSII.Columns.Add("NIF Emisor", typeof(string));
        dtSII.Columns.Add("Fecha Factura", typeof(string));
        dtSII.Columns.Add("Base Imponible (€)", typeof(decimal));
        dtSII.Columns.Add("Cuota IVA 21% (€)", typeof(decimal));
        dtSII.Columns.Add("Tipo Operación SII", typeof(string));

        // Registros del periodo T1 2026 (datos de ejemplo)
        dtSII.Rows.Add("B12345678", "15/01/2026", 10000.00m, 2100.00m, "F1");
        dtSII.Rows.Add("A87654321", "28/02/2026", 5500.50m, 1155.11m, "F1");
        dtSII.Rows.Add("B98765432", "31/03/2026", 8200.00m, 1722.00m, "F2");

        // Crear libro XLSX para el modelo 303 AEAT
        WorkBook wb303 = WorkBook.Create(ExcelFileFormat.XLSX);
        WorkSheet ws303 = wb303.DefaultWorkSheet;

        // Escribir cabeceras del modelo 303
        int col = 1;
        foreach (DataColumn column in dtSII.Columns)
        {
            ws303["A" + col].Value = column.ColumnName;
            col++;
        }

        // Exportar DataTable al XLSX — Excel sin Office para declaraciones AEAT
        int rowCount = 2;
        foreach (DataRow row in dtSII.Rows)
        {
            ws303["A" + rowCount].Value = row["NIF Emisor"].ToString();
            ws303["B" + rowCount].Value = row["Fecha Factura"].ToString();
            ws303["C" + rowCount].Value = Convert.ToDecimal(row["Base Imponible (€)"]);
            ws303["D" + rowCount].Value = Convert.ToDecimal(row["Cuota IVA 21% (€)"]);
            ws303["E" + rowCount].Value = row["Tipo Operación SII"].ToString();
            rowCount++;
        }

        // Fórmulas para totales de las casillas del modelo 303
        ws303["C" + rowCount].Formula = $"Sum(C2:C{rowCount - 1})";
        ws303["D" + rowCount].Formula = $"Sum(D2:D{rowCount - 1})";
        wb303.EvaluateAll();

        // Guardar XLSX para presentación AEAT
        wb303.SaveAs("AEAT_Modelo303_T1_2026.xlsx");
        Console.WriteLine("Fichero XLSX del modelo 303 generado correctamente.");
    }
}
using IronXL;
using System.Data;

class ExportarModelo303AEAT
{
    static void Main()
    {
        // DataTable con datos del SII obtenidos del ERP
        // LOPDGDD: sólo se incluyen los campos requeridos por la AEAT para el modelo 303
        DataTable dtSII = new DataTable();
        dtSII.Columns.Add("NIF Emisor", typeof(string));
        dtSII.Columns.Add("Fecha Factura", typeof(string));
        dtSII.Columns.Add("Base Imponible (€)", typeof(decimal));
        dtSII.Columns.Add("Cuota IVA 21% (€)", typeof(decimal));
        dtSII.Columns.Add("Tipo Operación SII", typeof(string));

        // Registros del periodo T1 2026 (datos de ejemplo)
        dtSII.Rows.Add("B12345678", "15/01/2026", 10000.00m, 2100.00m, "F1");
        dtSII.Rows.Add("A87654321", "28/02/2026", 5500.50m, 1155.11m, "F1");
        dtSII.Rows.Add("B98765432", "31/03/2026", 8200.00m, 1722.00m, "F2");

        // Crear libro XLSX para el modelo 303 AEAT
        WorkBook wb303 = WorkBook.Create(ExcelFileFormat.XLSX);
        WorkSheet ws303 = wb303.DefaultWorkSheet;

        // Escribir cabeceras del modelo 303
        int col = 1;
        foreach (DataColumn column in dtSII.Columns)
        {
            ws303["A" + col].Value = column.ColumnName;
            col++;
        }

        // Exportar DataTable al XLSX — Excel sin Office para declaraciones AEAT
        int rowCount = 2;
        foreach (DataRow row in dtSII.Rows)
        {
            ws303["A" + rowCount].Value = row["NIF Emisor"].ToString();
            ws303["B" + rowCount].Value = row["Fecha Factura"].ToString();
            ws303["C" + rowCount].Value = Convert.ToDecimal(row["Base Imponible (€)"]);
            ws303["D" + rowCount].Value = Convert.ToDecimal(row["Cuota IVA 21% (€)"]);
            ws303["E" + rowCount].Value = row["Tipo Operación SII"].ToString();
            rowCount++;
        }

        // Fórmulas para totales de las casillas del modelo 303
        ws303["C" + rowCount].Formula = $"Sum(C2:C{rowCount - 1})";
        ws303["D" + rowCount].Formula = $"Sum(D2:D{rowCount - 1})";
        wb303.EvaluateAll();

        // Guardar XLSX para presentación AEAT
        wb303.SaveAs("AEAT_Modelo303_T1_2026.xlsx");
        Console.WriteLine("Fichero XLSX del modelo 303 generado correctamente.");
    }
}
Imports IronXL
Imports System.Data

Class ExportarModelo303AEAT
    Shared Sub Main()
        ' DataTable con datos del SII obtenidos del ERP
        ' LOPDGDD: sólo se incluyen los campos requeridos por la AEAT para el modelo 303
        Dim dtSII As New DataTable()
        dtSII.Columns.Add("NIF Emisor", GetType(String))
        dtSII.Columns.Add("Fecha Factura", GetType(String))
        dtSII.Columns.Add("Base Imponible (€)", GetType(Decimal))
        dtSII.Columns.Add("Cuota IVA 21% (€)", GetType(Decimal))
        dtSII.Columns.Add("Tipo Operación SII", GetType(String))

        ' Registros del periodo T1 2026 (datos de ejemplo)
        dtSII.Rows.Add("B12345678", "15/01/2026", 10000.0D, 2100.0D, "F1")
        dtSII.Rows.Add("A87654321", "28/02/2026", 5500.5D, 1155.11D, "F1")
        dtSII.Rows.Add("B98765432", "31/03/2026", 8200.0D, 1722.0D, "F2")

        ' Crear libro XLSX para el modelo 303 AEAT
        Dim wb303 As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
        Dim ws303 As WorkSheet = wb303.DefaultWorkSheet

        ' Escribir cabeceras del modelo 303
        Dim col As Integer = 1
        For Each column As DataColumn In dtSII.Columns
            ws303("A" & col).Value = column.ColumnName
            col += 1
        Next

        ' Exportar DataTable al XLSX — Excel sin Office para declaraciones AEAT
        Dim rowCount As Integer = 2
        For Each row As DataRow In dtSII.Rows
            ws303("A" & rowCount).Value = row("NIF Emisor").ToString()
            ws303("B" & rowCount).Value = row("Fecha Factura").ToString()
            ws303("C" & rowCount).Value = Convert.ToDecimal(row("Base Imponible (€)"))
            ws303("D" & rowCount).Value = Convert.ToDecimal(row("Cuota IVA 21% (€)"))
            ws303("E" & rowCount).Value = row("Tipo Operación SII").ToString()
            rowCount += 1
        Next

        ' Fórmulas para totales de las casillas del modelo 303
        ws303("C" & rowCount).Formula = $"Sum(C2:C{rowCount - 1})"
        ws303("D" & rowCount).Formula = $"Sum(D2:D{rowCount - 1})"
        wb303.EvaluateAll()

        ' Guardar XLSX para presentación AEAT
        wb303.SaveAs("AEAT_Modelo303_T1_2026.xlsx")
        Console.WriteLine("Fichero XLSX del modelo 303 generado correctamente.")
    End Sub
End Class
$vbLabelText   $csharpLabel

Este patrón es igualmente aplicable al modelo 347 (operaciones con terceros > 3.005,06 €), al modelo 390 (resumen anual de IVA) y al modelo 130 (pago fraccionado del IRPF para autónomos). Para empresas del País Vasco sujetas a TicketBAI, IronXL puede generar los XLSX de trazabilidad que complementan los ficheros XML de facturación de Bizkaia, Gipuzkoa y Araba. Las empresas sujetas a VeriFactu (Real Decreto-Ley 15/2025) también pueden usar IronXL para generar los XLSX de respaldo de sus registros de facturación verificables.

6. Conclusión

Exportar un DataTable a Excel es un paso crucial en el análisis y la gestión de datos fiscales en España. Las hojas de cálculo de Excel son ampliamente utilizadas para la visualización y presentación de datos ante la AEAT, y la biblioteca IronXL ofrece una variedad de características para simplificar este proceso en ASP.NET. Este artículo describió los pasos para crear un nuevo proyecto ASP.NET , instalar IronXL y usarlo para exportar datos de un archivo DataTable a un archivo de Excel apto para las declaraciones AEAT (modelos 303, 347, 390, 130), cumpliendo además con la LOPDGDD al exportar sólo los campos necesarios. Además, mostró cómo guardar el libro en diferentes formatos de archivo, como CSV. Al usar IronXL, los desarrolladores pueden optimizar el trabajo con archivos de Excel y crear presentaciones visualmente atractivas de sus datos fiscales, ejecutando todo el proceso en Linux/Docker sin necesidad de licencias de Microsoft Office.

Para obtener más información sobre IronXL y exportar DataTable a diferentes formatos de Excel, visita el siguiente tutorial .

IronXL es gratis para instalar y usar para propósitos de desarrollo no comercial. Está disponible una prueba gratuita para pruebas en producción. Consulte los planes de precios para obtener más detalles sobre precios y licencias.

Los usuarios también pueden beneficiarse de la Iron Suite, una colección de cinco bibliotecas profesionales que incluyen IronXL, IronPDF y más.

Preguntas Frecuentes

¿Cómo exporto un DataTable al XLSX del modelo 303 de la AEAT con IronXL en ASP.NET?

Crea un DataTable con los campos requeridos por la AEAT para el modelo 303 (NIF, fecha, base imponible, cuota IVA 21%, tipo de operación SII). Usa IronXL para crear un WorkBook, recorre el DataTable con foreach y escribe cada columna en la celda correspondiente, añade fórmulas Sum para los totales y guarda como XLSX. Todo funciona en Linux/Docker sin Microsoft Office.

¿Puedo usar IronXL para exportar DataTable a XLSX para el SII de la AEAT sin Office en Linux?

Sí. IronXL funciona sin Microsoft Office en Linux, Docker y macOS (.NET 6+), lo que lo hace ideal para servicios ASP.NET que procesan datos del SII y generan los XLSX para las declaraciones periódicas de la AEAT, cumpliendo además con la LOPDGDD al controlar qué columnas se exportan.

¿Cuáles son los requisitos previos para usar IronXL en un proyecto ASP.NET?

Antes de usar IronXL en un proyecto ASP.NET, asegúrate de tener Visual Studio instalado para crear un proyecto ASP.NET e instalar la biblioteca IronXL mediante NuGet Package Manager. ASP.NET debe estar correctamente configurado en tu entorno de desarrollo también.

¿Cómo instalo IronXL en mi proyecto usando Visual Studio?

Puedes instalar IronXL en tu proyecto usando el Administrador de Paquetes NuGet en Visual Studio buscando IronXL y haciendo clic en 'Instalar'. Alternativamente, utiliza la Consola del Administrador de Paquetes con el comando: Install-Package IronXL.Excel.

¿Puedo guardar datos de DataTable en diferentes formatos de archivo usando IronXL?

Sí, IronXL admite guardar datos de DataTable en varios formatos de archivo, incluidos XLSX y CSV. Usa métodos como SaveAs o SaveAsCsv para especificar el formato de archivo deseado, adaptándote a los distintos requerimientos de la AEAT y otras administraciones.

¿Es IronXL apto para exportar DataTable para TicketBAI y VeriFactu?

Sí. Para empresas del País Vasco sujetas a TicketBAI (Bizkaia, Gipuzkoa, Araba), IronXL puede generar los XLSX de trazabilidad que complementan los ficheros XML. Para VeriFactu (Real Decreto-Ley 15/2025), IronXL genera los XLSX de respaldo de los registros de facturación verificables, todo desde ASP.NET sin Office.

¿Cuáles son los beneficios de usar IronXL para exportar DataTable a Excel para declaraciones AEAT?

IronXL simplifica la exportación de DataTable a XLSX para declaraciones AEAT, funciona en Linux/Docker sin Office, permite controlar las columnas exportadas para cumplir con la LOPDGDD, y soporta los formatos XLSX requeridos por los modelos 303, 347, 390 y 130.

Curtis Chau
Escritor Técnico

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien ...

Leer más

Equipo de soporte de Iron

Estamos disponibles online las 24 horas, 5 días a la semana.
Chat
Email
Llámame