Crear una tabla
Aspose.Words permite a los usuarios crear tablas en un documento desde cero y ofrece varios métodos diferentes para hacerlo. Este artículo presenta detalles sobre cómo añadir tablas formateadas a su documento utilizando cada método, así como una comparación de cada método al final del artículo.
Estilos de tabla por defecto
La tabla recién creada se da valores predeterminados similares a los utilizados en Microsoft Word:
Cuadro de bienes | Default in Aspose.Words |
---|---|
Border Style |
Single |
Border Width |
1/2 pt |
Color de la frontera | Black |
Left and Right Padding |
5.4 pts |
AutoFit Mode |
AutoFit to Window |
Allow AutoFit |
True |
Una tabla puede ser inline si está firmemente posicionada, o flotando si se puede posicionar en cualquier lugar de la página. Por defecto, Aspose.Words siempre crea tablas inline.
|
Crear una tabla con DocumentBuilder
In Aspose.Words, los usuarios pueden crear una tabla en un documento utilizando DocumentBuilder. El algoritmo básico para crear una tabla es el siguiente:
- Comience la mesa con StartTable
- Añadir una celda a la mesa InsertCell – esto comienza automáticamente una nueva fila
- Opcionalmente, utilice el CellFormat propiedad para especificar el formato celular
- Insertar el contenido de la célula usando el apropiado DocumentBuilder métodos tales como Writeln, InsertImage, y otros
- Repita los pasos 2-4 hasta que la fila esté completa
- Call EndRow para terminar la fila actual
- Opcionalmente, utilice el RowFormat propiedad para especificar formato de fila
- Repita los pasos 2-7 hasta que la mesa esté completa
- Call EndTable para terminar de construir la mesa
Detalles importantes:
- StartTable también se puede llamar dentro de una célula, en cuyo caso comienza la creación de una mesa anida dentro de la célula.
- Después de llamar InsertCell, se crea una nueva célula, y cualquier contenido que agregue usando otros métodos del DocumentBuilder la clase se añadirá a la celda actual. Para crear una nueva célula en la misma fila, llame InsertCell otra vez.
- Si. InsertCell se llama inmediatamente después EndRow y el final de una fila, la mesa continuará en una nueva fila.
- El EndTable método para terminar la tabla sólo debe llamarse una vez después de llamar EndRow. Llamada EndTable mueve el cursor de la celda actual a la posición inmediatamente después de la tabla.
El proceso de creación de una tabla se puede ver claramente en la siguiente imagen:
El siguiente ejemplo de código muestra cómo crear una tabla sencilla utilizando DocumentBuilder con formato predeterminado:
El siguiente ejemplo de código muestra cómo crear una tabla formateada usando DocumentBuilder:
El siguiente ejemplo de código muestra cómo insertar una tabla anida usando DocumentBuilder:
Crear una tabla vía DOM (G)Document Object Model)
Puede insertar tablas directamente en el DOM agregando un nuevo Table nodo en una posición específica.
Tenga en cuenta que inmediatamente después de la creación del nodo de mesa, la tabla en sí estará completamente vacía, es decir, no contiene todavía filas y células. Para insertar filas y células en una tabla, añadir el apropiado Row y Cell de los niños DOM.
El siguiente ejemplo de código muestra cómo construir una nueva tabla desde cero añadiendo los nodos infantiles apropiados al árbol de documentos:
Crear una tabla desde HTML
Aspose.Words permite insertar contenido en un documento de una fuente HTML utilizando InsertHtml método. La entrada puede ser una página HTML completa o sólo un fragmento parcial.
Usando esto InsertHtml método, los usuarios pueden insertar tablas en el documento a través de etiquetas de tabla como <table>
, <tr>
, <td>
.
El siguiente ejemplo de código muestra cómo insertar una tabla en un documento de una cadena que contiene etiquetas HTML:
Insertar una copia de una tabla existente
A menudo hay momentos en que usted necesita crear una tabla basada en una tabla ya existente en un documento. La forma más fácil de duplicar una tabla mientras se conserva todo el formato es clonar el nodo de la tabla usando el deepClone método.
La misma técnica se puede utilizar para añadir copias de una fila o célula existente a una tabla.
El siguiente ejemplo de código muestra cómo duplicar una tabla usando constructores de nodos:
El siguiente ejemplo de código muestra cómo clonar la última fila de una tabla y apéndice a la tabla:
Si usted está mirando a crear tablas en un documento que crecen dinámicamente con cada registro de su fuente de datos, entonces el método anterior no se recomienda. En cambio, la salida deseada se consigue más fácilmente utilizando Mail merge con regiones. Usted puede aprender más sobre esta técnica en la Mail Merge con Regiones sección.
Comparar maneras de crear una tabla
Aspose.Words proporciona varios métodos para crear nuevas tablas en un documento. Cada método tiene sus propias ventajas y desventajas, por lo que la elección de utilizar a menudo depende de la situación específica.
Echemos un vistazo más de cerca a estas formas de crear mesas y comparar sus pros y contras:
Método | Ventajas | Desventajas |
---|---|---|
Via DocumentBuilder |
El método estándar para insertar tablas y otros contenidos de documentos | A veces difícil crear muchas variedades de tablas al mismo tiempo con la misma instancia del constructor |
Via DOM | Se ajusta mejor con el código circundante que crea e inserta los nodos directamente en el DOM sin usar un DocumentBuilder | La tabla se crea “vacío”: antes de realizar la mayoría de las operaciones, debes llamar EnsureMinimum crear los nodos de niños desaparecidos |
De HTML | Puede crear una nueva tabla de origen HTML usando etiquetas como <table> , <tr> , <td> |
No es posible. Microsoft Word formatos de tabla se pueden aplicar a HTML |
Cierre de una tabla existente | Puede crear una copia de una tabla existente mientras conserva todo el formato de fila y celda | Los ganglios infantiles apropiados deben retirarse antes de que el cuadro esté listo para su uso |