Exportar datos de la hoja de cálculo de Excel a la tabla

En este tutorial, aprenderemos cómo exportar datos desde una hoja de cálculo de Excel y crear una tabla en un documento PDF usando la biblioteca Aspose.PDF para .NET. Revisaremos el código fuente paso a paso y explicaremos cada sección en detalle. Al final de este tutorial, podrá generar archivos PDF con tablas que contienen datos de hojas de cálculo de Excel. ¡Empecemos!

Requisitos

Antes de comenzar, asegúrese de tener lo siguiente:

  • Conocimientos básicos del lenguaje de programación C#.
  • Visual Studio instalado en su máquina
  • Biblioteca Aspose.PDF para .NET agregada a su proyecto

Paso 1: configurar el entorno

Para comenzar, cree un nuevo proyecto de C# en Visual Studio. Agregue la referencia a la biblioteca Aspose.PDF para .NET haciendo clic derecho en su proyecto en el Explorador de soluciones, seleccionando “Administrar paquetes NuGet” y buscando “Aspose.PDF”. Instale el paquete y estará listo para comenzar.

Paso 2: cargar la hoja de cálculo de Excel

En el primer paso de nuestro código, definimos la ruta al directorio que contiene el documento de Excel. Reemplace “SU DIRECTORIO DE DOCUMENTOS” con la ruta del directorio real donde se encuentra su archivo de Excel.

// La ruta al directorio de documentos.
string dataDir = "YOUR DOCUMENT DIRECTORY";

Aspose.Cells.Workbook workbook = new Aspose.Cells.Workbook(new FileStream(dataDir + "newBook1.xlsx", FileMode.Open));

Aquí, usamos la biblioteca Aspose.Cells para cargar el libro de Excel. Asegúrese de reemplazar “newBook1.xlsx” con el nombre de su archivo de Excel.

Paso 3: acceder a la hoja de trabajo

A continuación, debemos acceder a la primera hoja de trabajo del archivo de Excel. Hacemos esto usando elWorksheets colección de laWorkbook objeto.

// Accediendo a la primera hoja de trabajo en el archivo de Excel
Aspose.Cells.Worksheet worksheet = workbook.Worksheets[0];

Si su archivo de Excel contiene varias hojas de trabajo, puede cambiar el valor del índice[0] para acceder a una hoja de trabajo diferente.

Paso 4: Exportar datos a DataTable

Ahora, exportaremos el contenido de la hoja de cálculo de Excel a unDataTable objeto. Especificamos el rango de celdas a exportar usando elExportDataTable método.

// Exportar el contenido de 7 filas y 2 columnas a partir de la primera celda a DataTable
DataTable dataTable = worksheet.Cells.ExportDataTable(0, 0, worksheet.Cells.MaxRow + 1, worksheet.Cells.MaxColumn + 1, true);

En este ejemplo, exportamos todas las filas y columnas desde la primera celda (0, 0) hasta la última celda de la hoja de trabajo. Establezca el rango apropiado según sus requisitos.

Paso 5: crear un documento PDF

Ahora, crearemos un nuevo documento PDF usando la biblioteca Aspose.PDF.

// Crear una instancia de documento
Aspose.Pdf.Document pdf1 = new Aspose.Pdf.Document();

Esto crea un documento PDF vacío donde podemos agregar contenido.

Paso 6: agregar una página y una tabla

Para mostrar los datos en formato de tabla, necesitamos agregar una página y una tabla al documento PDF.

// Crear una página en la instancia del documento.
Aspose.Pdf.Page sec1 = pdf1.Pages.Add();

// Crear un objeto de tabla
Aspose.Pdf.Table tab1 = new Aspose.Pdf.Table();

// Agregue el objeto Tabla en la colección de párrafos de la sección.
sec1.Paragraphs.Add(tab1);

Aquí, creamos una nueva página y un objeto de tabla. Luego agregamos la tabla a la colección de párrafos de la página.

Paso 7: configurar las propiedades de la tabla

Antes de importar los datos, debemos configurar algunas propiedades de la tabla, como el ancho de las columnas y los bordes de las celdas predeterminados.

// Establecer anchos de columna de la tabla
tab1.ColumnWidths = "40 100 100";

// Establecer el borde de celda predeterminado de la tabla usando el objeto BorderInfo
tab1.DefaultCellBorder = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, 0.1F);

En este ejemplo, configuramos los anchos de columna en 40, 100 y 100 unidades. Ajuste los valores según sus datos. También configuramos el borde de celda predeterminado para mostrar bordes en todos los lados de cada celda.

Paso 8: Importar datos a la tabla

Ahora importaremos los datos delDataTable objeto en la mesa usando elImportDataTable método.

// Importe datos al objeto Tabla desde el DataTable creado anteriormente
tab1.ImportDataTable(dataTable, true, 0, 0, dataTable.Rows.Count + 1, dataTable.Columns.Count);

Aquí, especificamos el rango de filas y columnas a importar. En este ejemplo, importamos todas las filas y columnas deldataTable objeto.

Paso 9: formatear la tabla

Para mejorar la apariencia de la tabla, podemos aplicar formato a celdas o filas específicas. En este paso, daremos formato a la primera fila y a las filas alternas de la tabla.

// Obtener la primera fila de la tabla
Aspose.Pdf.Row row1 = tab1.Rows[0];

// Formatear la primera fila
foreach(Aspose.Pdf.Cell curCell in row1.Cells)
{
     // Establecer el color de fondo de las celdas de la primera fila.
     curCell.BackgroundColor = Color.Blue;// Establece la cara de las celdas en la primera fila.
     curCell.DefaultCellTextState.Font = Aspose.Pdf.Text.FontRepository.FindFont("Helvetica-Oblique");
    
     // Establecer el color de fuente de las celdas de la primera fila
     curCell.DefaultCellTextState.ForegroundColor = Color.Yellow;
    
     // Establecer la alineación del texto para las celdas de la primera fila
     curCell.DefaultCellTextState.HorizontalAlignment = Aspose.Pdf.HorizontalAlignment.Center;
}

// Formato de fila alternativo
for (int All_Rows = 1; All_Rows <= dataTable.Rows.Count; All_Rows++)
{
     foreach(Aspose.Pdf.Cell curCell in tab1.Rows[All_Rows].Cells)
     {
         // Establecer el color de fondo de las celdas en filas alternas
         curCell.BackgroundColor = Color.Gray;
        
         // Establecer el color del texto de las celdas en filas alternas
         curCell.DefaultCellTextState.ForegroundColor = Color.White;
     }
}

Aquí, recorremos las celdas de la primera fila y configuramos su color de fondo, tipo de fuente, color de fuente y alineación del texto. Luego, recorremos todas las celdas en las filas alternativas y configuramos su fondo y color de texto.

Paso 10: guardar el documento PDF

Finalmente, guardamos el documento PDF en la ubicación especificada.

// Guarde el PDF
pdf1.Save(dataDir + @"Exceldata_toPdf_table.pdf");

Asegúrese de reemplazar “SU DIRECTORIO DE DOCUMENTOS” con la ruta del directorio y el nombre de archivo deseados para el archivo PDF de salida.

Código fuente de ejemplo para exportar datos de hojas de cálculo de Excel a una tabla usando Aspose.PDF para .NET

// La ruta al directorio de documentos.
string dataDir = "YOUR DOCUMENT DIRECTORY";

Aspose.Cells.Workbook workbook = new Aspose.Cells.Workbook(new FileStream(dataDir + "newBook1.xlsx", FileMode.Open));
// Accediendo a la primera hoja de trabajo en el archivo de Excel
Aspose.Cells.Worksheet worksheet = workbook.Worksheets[0];
// Exportar el contenido de 7 filas y 2 columnas a partir de la primera celda a DataTable
DataTable dataTable = worksheet.Cells.ExportDataTable(0, 0, worksheet.Cells.MaxRow + 1, worksheet.Cells.MaxColumn + 1, true);

// Crear una instancia de documento
Aspose.Pdf.Document pdf1 = new Aspose.Pdf.Document();
// Crear una página en la instancia del documento.
Aspose.Pdf.Page sec1 = pdf1.Pages.Add();

// Crear un objeto de tabla
Aspose.Pdf.Table tab1 = new Aspose.Pdf.Table();

// Agregue el objeto Tabla en la colección de párrafos de la sección.
sec1.Paragraphs.Add(tab1);

// Establezca el ancho de las columnas de la tabla. Necesitamos especificar ColumnCount manualmente.
// Como la hoja de trabajo de Excel actual tiene tres columnas, estamos especificando el mismo recuento
tab1.ColumnWidths = "40 100 100";

// Establecer el borde de celda predeterminado de la tabla usando el objeto BorderInfo
tab1.DefaultCellBorder = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, 0.1F);

// Importe datos al objeto Tabla desde el DataTable creado anteriormente
tab1.ImportDataTable(dataTable, true, 0, 0, dataTable.Rows.Count + 1, dataTable.Columns.Count);
// Obtener la primera fila de la tabla
Aspose.Pdf.Row row1 = tab1.Rows[0];

// Repita todas las celdas de la primera fila y establezca su color de fondo en azul
foreach (Aspose.Pdf.Cell curCell in row1.Cells)
{
	// Establezca el fondo de todas las celdas en la primera fila de la tabla.
	curCell.BackgroundColor = Color.Blue;
	// Establezca la fuente para las celdas de la primera fila de la tabla.
	curCell.DefaultCellTextState.Font = Aspose.Pdf.Text.FontRepository.FindFont("Helvetica-Oblique");
	// Establezca el color de fuente de todas las celdas en la primera fila de la tabla.
	curCell.DefaultCellTextState.ForegroundColor = Color.Yellow;
	// Establezca la alineación del texto para las celdas de la primera fila como Centro.
	curCell.DefaultCellTextState.HorizontalAlignment = Aspose.Pdf.HorizontalAlignment.Center;
}

for (int All_Rows = 1; All_Rows <= dataTable.Rows.Count; All_Rows++)
{
	// Repita todas las celdas de la primera fila y establezca su color de fondo en azul
	foreach (Aspose.Pdf.Cell curCell in tab1.Rows[All_Rows].Cells)
	{
		// Establezca el color de fondo de todas las celdas excepto de la primera fila.
		curCell.BackgroundColor = Color.Gray;
		// Establezca el color del texto de todas las celdas excepto la primera fila.
		curCell.DefaultCellTextState.ForegroundColor = Color.White;
	}
}

// Guarde el PDF
pdf1.Save(dataDir + @"Exceldata_toPdf_table.pdf");

Conclusión

En este tutorial, aprendimos cómo exportar datos de una hoja de cálculo de Excel a una tabla PDF usando la biblioteca Aspose.PDF para .NET. Cubrimos el proceso paso a paso de cargar la hoja de cálculo de Excel, crear un documento PDF, agregar una tabla, importar datos y formatear la tabla. Ahora puede generar archivos PDF con tablas que contengan datos de Excel mediante programación.

Preguntas frecuentes

P: ¿Cuál es el propósito de exportar datos de una hoja de cálculo de Excel a una tabla PDF?

R: Exportar datos de una hoja de cálculo de Excel a una tabla PDF le permite presentar los datos en un formato estructurado y organizado. Le permite generar archivos PDF con tablas que contienen datos de hojas de cálculo de Excel, lo que facilita compartir y conservar información en un formato de documento portátil.

P: ¿Puedo personalizar la apariencia de la tabla PDF?

R: Sí, puede personalizar la apariencia de la tabla PDF utilizando varias propiedades proporcionadas por Aspose.PDF para .NET. En el código fuente de C# proporcionado, puede modificar el ancho de las columnas, los bordes de las celdas, la alineación del texto, el estilo de fuente y más para adaptarlo a sus requisitos específicos.

P: ¿Cómo manejo archivos de Excel con varias hojas de cálculo?

R: En el código C# proporcionado, accedemos a la primera hoja de trabajo del archivo Excel usando el índice[0] . Si su archivo de Excel contiene varias hojas de trabajo, puede acceder a ellas cambiando el valor del índice en consecuencia, como[1] para la segunda hoja de trabajo o[2] para la tercera hoja de trabajo.

P: ¿Puedo aplicar un formato diferente a filas o celdas específicas en la tabla PDF?

R: Sí, puede aplicar diferentes formatos a filas o celdas específicas en la tabla PDF. En el código fuente de C# proporcionado, demostramos cómo formatear la primera fila y las filas alternas de manera diferente cambiando el color de fondo, el estilo de fuente y el color de fuente. Puede aplicar técnicas de formato similares a filas o celdas específicas según sea necesario.

P: ¿Es Aspose.PDF para .NET la única biblioteca que permite exportar datos de Excel a una tabla PDF?

R: Aspose.PDF para .NET es una potente biblioteca para trabajar con documentos PDF en aplicaciones .NET. Si bien puede haber otras bibliotecas disponibles, Aspose.PDF para .NET ofrece una amplia gama de funciones y capacidades para generar, manipular y exportar archivos PDF con tablas a partir de datos de Excel, lo que lo convierte en una opción popular para este tipo de tareas.