Administrar Filas y Columnas
Para permitirte administrar 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 correspondiente.
- Establece la primera fila de la tabla como su encabezado.
Este código Java te muestra cómo establecer la primera fila de una tabla como su encabezado:
// Instancia la clase Presentation
Presentation pres = new Presentation("table.pptx");
try {
// Accede a la primera diapositiva
ISlide sld = pres.getSlides().get_Item(0);
// Inicializa la tabla nula
ITable tbl = null;
// Itera a través de las formas y establece una referencia a la tabla
for (IShape shp : sld.getShapes())
{
if (shp instanceof ITable)
{
tbl = (ITable)shp;
//Establece la primera fila de una tabla como su encabezado
tbl.setFirstRow(true);
}
}
// Guarda la presentación en el disco
pres.save("pres.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Clonar 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 arreglo de
columnWidth
. - Define un arreglo 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 Java te muestra cómo clonar una fila o columna de una tabla de PowerPoint:
// Instancia la clase Presentation
Presentation pres = new Presentation("Test.pptx");
try {
// Accede a la primera diapositiva
ISlide sld = pres.getSlides().get_Item(0);
// Define las columnas con anchos y las filas con alturas
double[] dblCols = { 50, 50, 50 };
double[] dblRows = { 50, 30, 30, 30, 30 };
// Agrega una forma de tabla a la diapositiva
ITable table = sld.getShapes().addTable(100, 50, dblCols, dblRows);
// Agrega algo de texto a la celda 1 de la fila 1
table.get_Item(0, 0).getTextFrame().setText("Celda 1 Fila 1");
// Agrega algo de texto a la celda 2 de la fila 1
table.get_Item(1, 0).getTextFrame().setText("Celda 2 Fila 1");
// Clona la Fila 1 al final de la tabla
table.getRows().addClone(table.getRows().get_Item(0), false);
// Agrega algo de texto a la celda 1 de la fila 2
table.get_Item(0, 1).getTextFrame().setText("Celda 1 Fila 2");
// Agrega algo de texto a la celda 2 de la fila 2
table.get_Item(1, 1).getTextFrame().setText("Celda 2 Fila 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 2da columna en el índice de la 4ta columna
table.getColumns().insertClone(3,table.getColumns().get_Item(1), false);
// Guarda la presentación en el disco
pres.save("table_out.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) 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 arreglo de
columnWidth
. - Define un arreglo 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 Java te muestra cómo eliminar una fila o columna de una tabla:
Presentation pres = new Presentation();
try {
ISlide slide = pres.getSlides().get_Item(0);
double[] colWidth = { 100, 50, 30 };
double[] rowHeight = { 30, 50, 30 };
ITable 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 (pres != null) 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 ITable relevante de la diapositiva.
- Establece el setFontHeight(float value) de las celdas de la primera fila.
- Establece la setAlignment(int value) y setMarginRight(float value) de las celdas de la primera fila.
- Establece el setTextVerticalType(byte value) de las celdas de la segunda fila.
- Guarda la presentación modificada.
Este código Java demuestra la operación.
// Crea una instancia de la clase Presentation
Presentation pres = new Presentation();
try {
// Supongamos que la primera forma en la primera diapositiva es una tabla
ITable someTable = (ITable)pres.getSlides().get_Item(0).getShapes().get_Item(0);
// Establece la altura de fuente de las celdas de la primera fila
PortionFormat portionFormat = new PortionFormat();
portionFormat.setFontHeight(25);
someTable.getRows().get_Item(0).setTextFormat(portionFormat);
// Establece la alineación del texto y el margen derecho de las celdas de la primera fila
ParagraphFormat paragraphFormat = new ParagraphFormat();
paragraphFormat.setAlignment(TextAlignment.Right);
paragraphFormat.setMarginRight(20);
someTable.getRows().get_Item(0).setTextFormat(paragraphFormat);
// Establece el tipo vertical de texto de las celdas de la segunda fila
TextFrameFormat textFrameFormat = new TextFrameFormat();
textFrameFormat.setTextVerticalType(TextVerticalType.Vertical);
someTable.getRows().get_Item(1).setTextFormat(textFrameFormat);
// Guarda la presentación en el disco
pres.save("result.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) 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 ITable relevante de la diapositiva.
- Establece el setFontHeight(float value) de las celdas de la primera columna.
- Establece la setAlignment(int value) y setMarginRight(float value) de las celdas de la primera columna.
- Establece el setTextVerticalType(byte value) de las celdas de la segunda columna.
- Guarda la presentación modificada.
Este código Java demuestra la operación:
// Crea una instancia de la clase Presentation
Presentation pres = new Presentation();
try {
// Supongamos que la primera forma en la primera diapositiva es una tabla
ITable someTable = (ITable)pres.getSlides().get_Item(0).getShapes().get_Item(0);
// Establece la altura de fuente de las celdas de la primera columna
PortionFormat portionFormat = new PortionFormat();
portionFormat.setFontHeight(25);
someTable.getColumns().get_Item(0).setTextFormat(portionFormat);
// Establece la alineación del texto y el margen derecho de las celdas de la primera columna en una sola llamada
ParagraphFormat paragraphFormat = new ParagraphFormat();
paragraphFormat.setAlignment(TextAlignment.Right);
paragraphFormat.setMarginRight(20);
someTable.getColumns().get_Item(0).setTextFormat(paragraphFormat);
// Establece el tipo vertical de texto de las celdas de la segunda columna
TextFrameFormat textFrameFormat = new TextFrameFormat();
textFrameFormat.setTextVerticalType(TextVerticalType.Vertical);
someTable.getColumns().get_Item(1).setTextFormat(textFrameFormat);
pres.save("result.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Obtener Propiedades de Estilo de la 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 Java te muestra cómo obtener las propiedades de estilo de un estilo preset de tabla:
Presentation pres = new Presentation();
try {
ITable table = pres.getSlides().get_Item(0).getShapes().addTable(10, 10, new double[] { 100, 150 }, new double[] { 5, 5, 5 });
table.setStylePreset(TableStylePreset.DarkStyle1); // cambia el tema de estilo preset por defecto
pres.save("table.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}