Añadir más elementos a un documento - Parte III

En este tercer tutorial de esta serie, veremos cómo añadir Tablas a tus documentos.

Más información Xceed Words para .NET

Esta semana veremos cómo añadir Tablas a tus documentos.

Tablas

Una Tabla es simplemente una vista en cuadrícula, con filas y columnas, que permite mostrar información de forma clara y organizada.

Añadir tablas

La adición de una tabla a un documento se realiza llamando a AñadirTabla en el Documento. Hay 2 opciones:

Indicando el número de filas y columnas:

// Create a new table (initial size of 3 rows and 2 columns).
var table = document.AddTable( 3, 2 );
table.Design = TableDesign.TableGrid;

// Insert the new table to the document
document.InsertTable( table );

Proporcionando una tabla existente:

// Retrieve an existing table (ex: from another document)
var table = document2.Tables[ tableIndex ];

// Insert the table to the document
document.InsertTable( table );

Nota Diseño de la tabla se utiliza para indicar qué diseño aplicar a la tabla. Los valores posibles se encuentran en la propiedad TableDesign enumeración. Hay 50 y pico valores diferentes, sus nombres y una pequeña miniatura de referencia están disponibles en el archivo documentación.

Eliminación de tablas

La eliminación de una Tabla existente de un documento se realiza llamando a Eliminar sobre la mesa.

// Remove an existing table from the document
var table = document.Tables[ tableIndex ];
table.Remove;

Añadir filas

La inserción de filas se realiza llamando a InsertRow sobre la mesa.

// Insert a new Row at the end of a table
var table = document.Tables[ tableIndex ];
table.InsertRow();

Nota InsertRow admite otras 3 sobrecargas:

  • (Int32): Inserta una Fila en un lugar específico de esta Tabla.
  • (Fila, Booleano): Inserta una copia de la Fila proporcionada al final de esta Tabla, y opcionalmente mantiene el mismo formato que la Fila original.
  • (Fila, Int32, Booleano): Inserta una copia de la Fila proporcionada en una ubicación específica de esta Tabla, y opcionalmente mantiene el mismo formato que la Fila original.

Eliminar filas

La eliminación de filas se realiza llamando a EliminarFila en la tabla. Si se llama al método sin ningún parámetro, se eliminará la última fila de la tabla; de lo contrario, se puede pasar un índice para indicar qué fila eliminar.

// Remove the last row from the table
var table = document.Tables[ tableIndex ];
table.RemoveRow();

// Remove a specific row from the table
table.RemoveRow( rowIndex );

Añadir columnas

La inserción de columnas se realiza llamando a InsertarColumna sobre la mesa.

// Insert a new Column at the end of a table
var table = document.Tables[ tableIndex ];
table.InsertColumn();

Nota InsertarColumna admite otra sobrecarga:

  • (Int32, Booleano): Inserta una Columna en un lugar específico de esta Tabla.

Eliminar columnas

La eliminación de columnas se realiza llamando a EliminarColumna en la tabla. Si se llama al método sin ningún parámetro, se eliminará la última columna de la tabla; de lo contrario, se puede pasar un índice para indicar qué columna eliminar.

// Remove the last column from the table
var table = document.Tables[ tableIndex ];
table.RemoveColumn();

// Remove a specific column from the table
table.RemoveColumn( colIndex );

Fusión de celdas

La tabla permite combinar varias celdas. Actualmente se admiten 2 escenarios:

Fusionar varias celdas de una misma fila llamando a FusionarCélulas en la Fila:

// Merge the first 3 cells of the first row
var table = document.Tables[ tableIndex ];
table.Rows[ 0 ].MergeCells( 0, 3 );

// Merge the last 2 cells in the third row
var columnCount = table.Rows [ 1 ].ColumnCount;
table.Rows[ 2 ].MergeCells( columnCount - 2, columnCount - 1 );

Fusionar celdas en una columna específica llamando a FusionarCélulasEnColumna sobre la mesa:

// Merge the first cell of rows 2 and 3
var table = document.Tables[ tableIndex ];
table.MergedCellsInColumn( 0, 1, 2 );

Insertar otros elementos

Hay otros métodos disponibles en la Tabla para insertar elementos específicos antes/después de la Tabla. Por ejemplo, utilizando InsertListBeforerSelf o InsertListAfterSelf para insertar una lista. Existen métodos similares para insertar una Página, un Párrafo u otra Tabla.

Ejemplo

El siguiente ejemplo muestra cómo crear una tabla en un Documento, insertar filas en ella y llenar la tabla con datos.

// Create a document.
using( var document = DocX.Create( "InsertRowAndDataTable.docx" ) )
{
	// Add a Table of 5 rows and 2 columns into the document and sets its values.
	var t = document.AddTable( 5, 2 );
	t.Design = TableDesign.ColorfulListAccent1;
	t.Alignment = Alignment.center;
	t.Rows[ 0 ].Cells[ 0 ].Paragraphs[ 0 ].Append( "Mike" );
	t.Rows[ 0 ].Cells[ 1 ].Paragraphs[ 0 ].Append( "65" );
	t.Rows[ 1 ].Cells[ 0 ].Paragraphs[ 0 ].Append( "Kevin" );
	t.Rows[ 1 ].Cells[ 1 ].Paragraphs[ 0 ].Append( "62" );
	t.Rows[ 2 ].Cells[ 0 ].Paragraphs[ 0 ].Append( "Carl" );
	t.Rows[ 2 ].Cells[ 1 ].Paragraphs[ 0 ].Append( "60" );
	t.Rows[ 3 ].Cells[ 0 ].Paragraphs[ 0 ].Append( "Michael" );
	t.Rows[ 3 ].Cells[ 1 ].Paragraphs[ 0 ].Append( "59" );
	t.Rows[ 4 ].Cells[ 0 ].Paragraphs[ 0 ].Append( "Shawn" );
	t.Rows[ 4 ].Cells[ 1 ].Paragraphs[ 0 ].Append( "57" );

	// Add a row at the end of the table and sets its values.
	var r = t.InsertRow();
	r.Cells[ 0 ].Paragraphs[ 0 ].Append( "Mario" );
	r.Cells[ 1 ].Paragraphs[ 0 ].Append( "54" );

	// Insert a new Paragraph into the document.
	var p = document.InsertParagraph( "Xceed Top Players Points:" );
	p.SpacingAfter( 40d );

	// Insert the Table after the Paragraph.
	p.InsertTableAfterSelf( t );

	// Save the document
	document.Save();
}

Para más información, consulte el documentación.