Gestionar Filas y Columnas
Para permitirte gestionar las filas y columnas de una tabla en una presentación de PowerPoint, Aspose.Slides proporciona la clase Table, la interfaz ITable y muchos otros tipos.
Establecer la Primera Fila como Encabezado
- Crea una instancia de la clase Presentation y carga la presentación.
- Obtén la referencia de una diapositiva a través de su índice.
- Crea un objeto ITable y configúralo como nulo.
- Itera a través de todos los objetos IShape para encontrar la tabla relevante.
- Establece la primera fila de la tabla como su encabezado.
Este código PHP te muestra cómo establecer la primera fila de una tabla como su encabezado:
# Instancia la clase Presentation
$pres = new Presentation("table.pptx");
try {
# Accede a la primera diapositiva
$sld = $pres->getSlides()->get_Item(0);
# Inicializa la TableEx nula
$tbl = null;
# Itera a través de las formas y establece una referencia a la tabla
foreach($sld->getShapes() as $shp) {
if (java_instanceof($shp, new JavaClass("com.aspose.slides.Table"))) {
$tbl = $shp;
# Establece la primera fila de una tabla como su encabezado
$tbl->setFirstRow(true);
}
}
# Guarda la presentación en disco
$pres->save("pres.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Clonar la Fila o Columna de la Tabla
- Crea una instancia de la clase Presentation y carga la presentación.
- Obtén la referencia de una diapositiva a través de su índice.
- Define un array de
columnWidth
. - Define un array de
rowHeight
. - Agrega un objeto ITable a la diapositiva a través del método addTable.
- Clona la fila de la tabla.
- Clona la columna de la tabla.
- Guarda la presentación modificada.
Este código PHP te muestra cómo clonar una fila o columna de una tabla de PowerPoint:
# Instancia la clase Presentation
$pres = new Presentation("Test.pptx");
try {
# Accede a la primera diapositiva
$sld = $pres->getSlides()->get_Item(0);
# Define columnas con anchos y filas con alturas
$dblCols = array(50, 50, 50 );
$dblRows = array(50, 30, 30, 30, 30 );
# Agrega una forma de tabla a la diapositiva
$table = $sld->getShapes()->addTable(100, 50, $dblCols, $dblRows);
# Agrega texto a la celda 1 de la fila 1
$table->get_Item(0, 0)->getTextFrame()->setText("Fila 1 Celda 1");
# Agrega texto a la celda 2 de la fila 1
$table->get_Item(1, 0)->getTextFrame()->setText("Fila 1 Celda 2");
# Clona la Fila 1 al final de la tabla
$table->getRows()->addClone($table->getRows()->get_Item(0), false);
# Agrega texto a la celda 1 de la fila 2
$table->get_Item(0, 1)->getTextFrame()->setText("Fila 2 Celda 1");
# Agrega texto a la celda 2 de la fila 2
$table->get_Item(1, 1)->getTextFrame()->setText("Fila 2 Celda 2");
# Clona la Fila 2 como la 4ta fila de la tabla
$table->getRows()->insertClone(3, $table->getRows()->get_Item(1), false);
# Clona la primera columna al final
$table->getColumns()->addClone($table->getColumns()->get_Item(0), false);
# Clona la segunda columna en el índice de la cuarta columna
$table->getColumns()->insertClone(3, $table->getColumns()->get_Item(1), false);
# Guarda la presentación en disco
$pres->save("table_out.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Eliminar Fila o Columna de la Tabla
- Crea una instancia de la clase Presentation y carga la presentación.
- Obtén la referencia de una diapositiva a través de su índice.
- Define un array de
columnWidth
. - Define un array de
rowHeight
. - Agrega un objeto ITable a la diapositiva a través del método addTable.
- Elimina la fila de la tabla.
- Elimina la columna de la tabla.
- Guarda la presentación modificada.
Este código PHP te muestra cómo eliminar una fila o columna de una tabla:
$pres = new Presentation();
try {
$slide = $pres->getSlides()->get_Item(0);
$colWidth = array(100, 50, 30 );
$rowHeight = array(30, 50, 30 );
$table = $slide->getShapes()->addTable(100, 100, $colWidth, $rowHeight);
$table->getRows()->removeAt(1, false);
$table->getColumns()->removeAt(1, false);
$pres->save("TestTable_out.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Establecer Formato de Texto a Nivel de Fila de Tabla
- Crea una instancia de la clase Presentation y carga la presentación.
- Obtén la referencia de una diapositiva a través de su índice.
- Accede al objeto relevante ITable de la diapositiva.
- Establece la altura de fuente de las celdas de la primera fila setFontHeight(float value).
- Establece la alineación de texto setAlignment(int value) y el margen derecho setMarginRight(float value) de las celdas de la primera fila.
- Establece el tipo de texto vertical setTextVerticalType(byte value) de las celdas de la segunda fila.
- Guarda la presentación modificada.
Este código PHP demuestra la operación.
# Crea una instancia de la clase Presentation
$pres = new Presentation();
try {
# Supongamos que la primera forma en la primera diapositiva es una tabla
$someTable = $pres->getSlides()->get_Item(0)->getShapes()->get_Item(0);
# Establece la altura de fuente de las celdas de la primera fila
$portionFormat = new PortionFormat();
$portionFormat::setFontHeight(25);
$someTable->getRows()->get_Item(0)->setTextFormat($portionFormat);
# Establece la alineación de texto y el margen derecho de las celdas de la primera fila
$paragraphFormat = new ParagraphFormat();
$paragraphFormat::setAlignment(TextAlignment->Right);
$paragraphFormat::setMarginRight(20);
$someTable->getRows()->get_Item(0)->setTextFormat($paragraphFormat);
# Establece el tipo de texto vertical de las celdas de la segunda fila
$textFrameFormat = new TextFrameFormat();
$textFrameFormat::setTextVerticalType(TextVerticalType::Vertical);
$someTable->getRows()->get_Item(1)->setTextFormat($textFrameFormat);
# Guarda la presentación en disco
$pres->save("result.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Establecer Formato de Texto a Nivel de Columna de Tabla
- Crea una instancia de la clase Presentation y carga la presentación.
- Obtén la referencia de una diapositiva a través de su índice.
- Accede al objeto relevante ITable de la diapositiva.
- Establece la altura de fuente de las celdas de la primera columna setFontHeight(float value).
- Establece la alineación de texto setAlignment(int value) y el margen derecho setMarginRight(float value) de las celdas de la primera columna.
- Establece el tipo de texto vertical setTextVerticalType(byte value) de las celdas de la segunda columna.
- Guarda la presentación modificada.
Este código PHP demuestra la operación:
# Crea una instancia de la clase Presentation
$pres = new Presentation();
try {
# Supongamos que la primera forma en la primera diapositiva es una tabla
$someTable = $pres->getSlides()->get_Item(0)->getShapes()->get_Item(0);
# Establece la altura de fuente de las celdas de la primera columna
$portionFormat = new PortionFormat();
$portionFormat::setFontHeight(25);
$someTable->getColumns()->get_Item(0)->setTextFormat($portionFormat);
# Establece la alineación de texto y el margen derecho de las celdas de la primera columna en una sola llamada
$paragraphFormat = new ParagraphFormat();
$paragraphFormat::setAlignment(TextAlignment->Right);
$paragraphFormat::setMarginRight(20);
$someTable->getColumns()->get_Item(0)->setTextFormat($paragraphFormat);
# Establece el tipo de texto vertical de las celdas de la segunda columna
$textFrameFormat = new TextFrameFormat();
$textFrameFormat::setTextVerticalType(TextVerticalType::Vertical);
$someTable->getColumns()->get_Item(1)->setTextFormat($textFrameFormat);
$pres->save("result.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Obtener Propiedades de Estilo de Tabla
Aspose.Slides te permite recuperar las propiedades de estilo para una tabla para que puedas usar esos detalles para otra tabla o en otro lugar. Este código PHP te muestra cómo obtener las propiedades de estilo de un estilo de tabla preestablecido:
$pres = new Presentation();
try {
$table = $pres->getSlides()->get_Item(0)->getShapes()->addTable(10, 10, array(100, 150 ), array(5, 5, 5 ));
$table->setStylePreset(TableStylePreset->DarkStyle1); // cambia el tema de estilo preestablecido predeterminado
$pres->save("table.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}