Saltar al pie de página
USANDO IRONPDF

Cómo Crear PDF en ASP .NET

Microsoft Excel es un software de hojas de cálculo que almacena y organiza datos, y los presenta en varios formatos. Es ampliamente utilizado para datos financieros debido a sus útiles fórmulas. La biblioteca de software IronXL se puede usar para importar y leer archivos de Excel en C#.

IronXL - Biblioteca de Excel

IronXL - Biblioteca .NET de Excel es una biblioteca .NET de Excel que prioriza la facilidad de uso, precisión y velocidad para sus usuarios. Le ayuda a importar y leer documentos de Excel y crear y editar un archivo de Excel de manera eficiente con un rendimiento excepcionalmente rápido. Funciona sin MS Office Interop. Esto significa que incluso sin Excel instalado, proporciona todas las funcionalidades para leer archivos de Excel. Esto hace que IronXL sea una herramienta poderosa para los desarrolladores que deseen importar y leer archivos de Excel en C#.

IronXL está disponible en todas las plataformas como Windows, Linux, macOS, Docker, Azure y AWS. Es compatible con todos los .NET Frameworks. IronXL es una biblioteca versátil que se puede integrar en Consola, Escritorio y Aplicaciones Web ASP.NET. Soporta diferentes formatos de libro de trabajo como archivos XLS y XLSX, XSLT y XLSM, CSV y TSV.

Algunas características importantes

  • Abre, lee archivos de Excel y busca datos de diferentes formatos de hojas de cálculo como archivos XLS/CSV/TSV/XLSX.
  • Exporta hojas de trabajo de Excel a XLS/XLSX/CSV/TSV/JSON.
  • Encripta y desencripta archivos XLSM/XLTX/XLSX con contraseñas.
  • Importa hojas de Excel como objetos System.Data.DataSet y System.Data.DataTable.
  • Las fórmulas de archivos de Excel se recalculan cada vez que se edita una hoja.
  • Configuración de rango de celdas intuitiva con una sintaxis fácil WorkSheet["A1:B10"].
  • Ordena rangos de celdas, columnas y filas.
  • Estilización de celdas - Fuente, Tamaño de fuente, Color de fondo, Bordes, Alineación y Formatos numéricos.

Cómo Importar un Libro de Excel en C#

Prerrequisitos

Para usar IronXL en C# para leer archivos de Excel, el primer paso es asegurarse de que los siguientes componentes estén instalados en el ordenador local:

  1. Visual Studio - Es la IDE oficial para desarrollar aplicaciones C# .NET. Puede descargar e instalar Visual Studio desde la Página de descarga de Visual Studio.
  2. IronXL - Es la biblioteca que ayuda a trabajar con hojas de Excel en C#. Debe estar instalada en un programa C# antes de usarla. IronXL se puede descargar desde el Paquete NuGet de IronXL o gestionar paquetes NuGet en las herramientas de Visual Studio. También puede descargar el DLL de Excel .NET desde el sitio web de Iron Software.

Agregar espacios de nombres necesarios

Una vez instalados Visual Studio y IronXL, debe incluirse la referencia al ensamblado de IronXL en el código fuente. Agregue la siguiente línea de código en la parte superior del archivo dentro del nuevo proyecto donde se utilizarán las funciones de IronXL:

using IronXL;
using IronXL;
Imports IronXL
$vbLabelText   $csharpLabel

Abrir un archivo de Excel existente en C

Las hojas de cálculo de Microsoft Excel también se denominan libro de trabajo de Excel. Cada libro de trabajo contiene múltiples hojas, y una sola hoja contiene celdas tabulares con su valor. Para abrir y leer un archivo de Excel usando IronXL, debe cargarse usando la clase WorkBook y el método Load presente en la biblioteca IronXL. El código es el siguiente:

// Supported Excel spreadsheet formats for reading include: XLSX, XLS, CSV, and TSV
WorkBook workbook = WorkBook.Load("test.xlsx");
// Supported Excel spreadsheet formats for reading include: XLSX, XLS, CSV, and TSV
WorkBook workbook = WorkBook.Load("test.xlsx");
' Supported Excel spreadsheet formats for reading include: XLSX, XLS, CSV, and TSV
Dim workbook As WorkBook = WorkBook.Load("test.xlsx")
$vbLabelText   $csharpLabel

Esto abre el archivo de Excel en la variable de referencia de instancia de libro de trabajo. Como puede tener múltiples hojas, puede usarse para abrir una hoja específica o todas al mismo tiempo. El siguiente código abre la primera WorkSheet en la variable de instancia sheet:

WorkSheet sheet = workbook.WorkSheets.First();
WorkSheet sheet = workbook.WorkSheets.First();
Dim sheet As WorkSheet = workbook.WorkSheets.First()
$vbLabelText   $csharpLabel

Esto abrirá la primera hoja en el archivo de Excel, y ahora se pueden leer y escribir datos de Excel en esta hoja.

Archivo Excel abierto

Cómo crear PDF en ASP .NET, Figura 1: Archivo de Excel Archivo de Excel

Leer datos de un archivo Excel importado

Una vez que se importa el archivo de Excel, está listo para leer los datos. Leer datos de archivos de Excel en C# usando IronXL es muy simple y fácil. Puede leer los valores de las celdas de Excel simplemente mencionando el número de referencia de la celda.

El código a continuación recupera el valor de una celda con número de referencia "C2":

// Select cells easily in Excel-notation and return the value
int cellValue = sheet["C2"].IntValue;

// Display the value
Console.WriteLine(cellValue);
// Select cells easily in Excel-notation and return the value
int cellValue = sheet["C2"].IntValue;

// Display the value
Console.WriteLine(cellValue);
' Select cells easily in Excel-notation and return the value
Dim cellValue As Integer = sheet("C2").IntValue

' Display the value
Console.WriteLine(cellValue)
$vbLabelText   $csharpLabel

El resultado es el siguiente:

Cómo crear PDF en ASP .NET, Figura 2: Leer Excel Leer Excel

Ahora, leamos los datos desde un rango de celdas en el archivo de Excel abierto. El código es el siguiente:

// Read from a range of cells elegantly.
foreach (var cell in sheet["A2:A6"])
{
    Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
// Read from a range of cells elegantly.
foreach (var cell in sheet["A2:A6"])
{
    Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
' Read from a range of cells elegantly.
For Each cell In sheet("A2:A6")
	Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text)
Next cell
$vbLabelText   $csharpLabel

El código es muy simple, limpio y claro. El rango de celdas se puede referenciar con una sintaxis simple como se muestra en un bucle foreach: sheet["A2:A6"] y cada celda se puede iterar usando un bucle foreach para obtener su valor. Aquí, verá los nombres en la columna A desde la fila 2 hasta la fila 6 en la salida de la consola:

Cómo crear PDF en ASP .NET, Figura 3: Leer rango de celdas Leer rango de celdas

Para más detalles sobre la lectura y escritura de valores de celdas, consulte este tutorial sobre cómo leer archivos de Excel en C#.

Importar todos los datos de un archivo Excel

IronXL se puede usar para leer hojas de Excel a la vez usando índices de filas y columnas. Las siguientes muestras de código de IronXL ayudan a obtener todos los datos del archivo de Excel en el mismo formato en la salida de la consola:

WorkBook workbook = WorkBook.Load("test.xlsx");
WorkSheet sheet = workbook.WorkSheets.First();

// Traverse all rows of Excel WorkSheet
for (int i = 0; i < sheet.Rows.Count(); i++)
{
    // Traverse all columns of specific Row
    for (int j = 0; j < sheet.Columns.Count(); j++)
    {
        // Get the value as a string
        string val = sheet.Rows[i].Columns[j].Value.ToString();
        Console.Write("{0}\t", val);
    }
    Console.WriteLine();
}
WorkBook workbook = WorkBook.Load("test.xlsx");
WorkSheet sheet = workbook.WorkSheets.First();

// Traverse all rows of Excel WorkSheet
for (int i = 0; i < sheet.Rows.Count(); i++)
{
    // Traverse all columns of specific Row
    for (int j = 0; j < sheet.Columns.Count(); j++)
    {
        // Get the value as a string
        string val = sheet.Rows[i].Columns[j].Value.ToString();
        Console.Write("{0}\t", val);
    }
    Console.WriteLine();
}
Imports Microsoft.VisualBasic

Dim workbook As WorkBook = WorkBook.Load("test.xlsx")
Dim sheet As WorkSheet = workbook.WorkSheets.First()

' Traverse all rows of Excel WorkSheet
For i As Integer = 0 To sheet.Rows.Count() - 1
	' Traverse all columns of specific Row
	For j As Integer = 0 To sheet.Columns.Count() - 1
		' Get the value as a string
		Dim val As String = sheet.Rows(i).Columns(j).Value.ToString()
		Console.Write("{0}" & vbTab, val)
	Next j
	Console.WriteLine()
Next i
$vbLabelText   $csharpLabel

Archivo de salida

Cómo crear PDF en ASP .NET, Figura 4: La salida de la consola de lectura de un archivo de Excel La salida de la consola de lectura de un archivo de Excel

Resumen

En este artículo, aprendimos a importar y leer un archivo de Excel en C# sin ningún Microsoft Excel instalado. Luego consideramos múltiples formas de leer datos de una hoja de cálculo de Excel. IronXL también ayuda a crear archivos de Excel en C# sin ningún Excel instalado.

IronXL proporciona una solución integral para todas las tareas relacionadas con documentos MS Excel que se deben implementar programáticamente. Puede realizar el cálculo de fórmulas, ordenar cadenas o números, cortar y agregar, buscar y reemplazar, fusionar y deshacer la fusión, guardar archivos, etc. Puede editar valores de celdas y también establecer formatos de datos de celdas junto con la validación de datos de hojas de cálculo. También admite archivos CSV y le ayuda a trabajar con datos similares a Excel.

Pruebe IronXL gratis y explore sus funciones. Puede licenciarse para uso comercial con su paquete Lite a partir de solo $799.

Preguntas Frecuentes

¿Cómo puedo crear un PDF desde una aplicación ASP.NET sin perder el formato?

Puedes usar IronPDF para crear un PDF desde una aplicación ASP.NET mientras preservas el formato original. IronPDF asegura que el diseño y los estilos de tu contenido HTML se representen con precisión en el PDF resultante.

¿Cuál es la mejor manera de convertir HTML a PDF en una aplicación web de C#?

IronPDF es una excelente opción para convertir HTML a PDF en una aplicación web de C#. Proporciona métodos como RenderHtmlAsPdf para convertir cadenas HTML y páginas web en documentos PDF de alta calidad.

¿Es posible generar PDFs en ASP.NET sin usar complementos de terceros?

Sí, utilizando IronPDF, puedes generar PDFs en aplicaciones ASP.NET sin depender de complementos de terceros o software externo. IronPDF se integra directamente con tu aplicación para manejar la creación de PDFs.

¿Cómo se puede asegurar la precisión del diseño del PDF al convertir desde HTML en C#?

IronPDF ofrece control preciso sobre el diseño y formato del PDF al convertir HTML a PDF en C#. Mantiene el estilo CSS, los saltos de página y las consultas de medios para asegurar que la salida coincida con el diseño original.

¿Se puede usar IronPDF para cifrar y asegurar documentos PDF?

Sí, IronPDF proporciona funcionalidad para cifrar y asegurar documentos PDF. Puedes aplicar protección con contraseña y establecer permisos para controlar el acceso y las capacidades de edición de tus PDFs.

¿Qué plataformas soporta IronPDF para la generación de PDF?

IronPDF admite la generación de PDF en múltiples plataformas, incluidas Windows, Linux, macOS, Docker, Azure y AWS, haciéndolo versátil para diversos entornos de despliegue.

¿Cómo manejas las imágenes al crear PDFs desde HTML en ASP.NET?

Al usar IronPDF, las imágenes en tu contenido HTML se incrustan automáticamente en el PDF durante la conversión. Admite varios formatos de imagen, asegurando que aparezcan correctamente en el documento final.

¿Es posible automatizar la creación de PDF en aplicaciones ASP.NET?

Absolutamente, IronPDF permite la automatización de la creación de PDF en aplicaciones ASP.NET. Puedes programar o activar la generación de PDF en base a eventos o condiciones específicas dentro de tu aplicación.

¿IronPDF es totalmente compatible con .NET 10 para ASP.NET y otros tipos de proyectos .NET?

Sí. IronPDF es totalmente compatible con .NET 10. Admite todas las versiones modernas de .NET, incluyendo .NET 10, en proyectos web, de escritorio, de consola, Blazor y MAUI. Puede usar las mismas API como ChromePdfRenderer , RenderHtmlAsPdf y métodos asíncronos que en versiones anteriores de .NET.

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