Las tablas se utilizan para organizar los datos en forma de filas y columnas. Además, organizan y resumen los datos para que puedan verse y analizarse fácilmente. MS PowerPoint también le permite insertar tablas en las presentaciones. En consecuencia, este artículo cubre cómo crear y manipular tablas en presentaciones de PowerPoint usando C#.
- API de C# para crear y manipular tablas en PowerPoint
- Crear una tabla en presentaciones de PowerPoint
- Acceder a una tabla en una presentación
- Formatear texto en tablas de PowerPoint
- Bloquear la relación de aspecto de las tablas
API de C# para crear y manipular tablas en PowerPoint
Para crear y manipular tablas en presentaciones de PowerPoint, usaremos Aspose.Slides for .NET. La API le permite crear, manipular y convertir documentos de PowerPoint y OpenOffice. Puede descargar la DLL de la API y agregarle una referencia en su proyecto. Además, puede instalarlo usando NuGet.
PM> Install-Package Aspose.Slides.NET
Crear una tabla en presentaciones de PowerPoint usando C#
Crear una tabla usando Aspose.Slides for .NET es pan comido. Los siguientes pasos muestran cómo crear una tabla en una presentación de PowerPoint usando C#.
- Primero, cree una nueva presentación o cargue una existente usando la clase Presentation.
- Luego, obtenga la referencia de la diapositiva deseada en un objeto ISlide.
- Defina el ancho y alto de columnas y filas respectivamente en arreglos dobles[].
- Inserte una nueva tabla en la presentación usando el método ISlide.Shapes.AddTable().
- Obtenga la referencia de la tabla recién creada en un objeto ITable.
- Cree un bucle para iterar a través de las filas de la tabla.
- Cree un bucle anidado para iterar a través de las celdas de la tabla y, en cada iteración, realice las siguientes operaciones.
- Establezca el texto de la celda usando la propiedad ITable.Rows[rowIndex][cellIndex].TextFrame.Text.
- Obtenga la referencia del formato de la celda en un objeto ICellFormat y configure el estilo del borde de la celda, si es necesario.
- Finalmente, guarde la presentación usando el método Presentation.Save(String, SaveFormat).
El siguiente ejemplo de código muestra cómo crear una tabla en una presentación de PowerPoint.
// Crear o cargar presentación
Presentation pres = new Presentation();
// Acceder a la primera diapositiva
ISlide sld = pres.Slides[0];
// Definir columnas con anchos y filas con alturas
double[] dblCols = { 50, 50, 50 };
double[] dblRows = { 50, 30, 30, 30, 30 };
// Agregar forma de tabla a la diapositiva
ITable tbl = sld.Shapes.AddTable(100, 50, dblCols, dblRows);
// Establecer formato de borde y texto para cada celda
for (int row = 0; row < tbl.Rows.Count; row++)
{
for (int cell = 0; cell < tbl.Rows[row].Count; cell++)
{
// Agregar texto a la celda
tbl.Rows[row][cell].TextFrame.Text = "Cells_" + cell;
tbl.Rows[row][cell].CellFormat.BorderTop.FillFormat.FillType = FillType.Solid;
tbl.Rows[row][cell].CellFormat.BorderTop.FillFormat.SolidFillColor.Color = Color.Red;
tbl.Rows[row][cell].CellFormat.BorderTop.Width = 5;
tbl.Rows[row][cell].CellFormat.BorderBottom.FillFormat.FillType = (FillType.Solid);
tbl.Rows[row][cell].CellFormat.BorderBottom.FillFormat.SolidFillColor.Color= Color.Red;
tbl.Rows[row][cell].CellFormat.BorderBottom.Width =5;
tbl.Rows[row][cell].CellFormat.BorderLeft.FillFormat.FillType = FillType.Solid;
tbl.Rows[row][cell].CellFormat.BorderLeft.FillFormat.SolidFillColor.Color =Color.Red;
tbl.Rows[row][cell].CellFormat.BorderLeft.Width = 5;
tbl.Rows[row][cell].CellFormat.BorderRight.FillFormat.FillType = FillType.Solid;
tbl.Rows[row][cell].CellFormat.BorderRight.FillFormat.SolidFillColor.Color = Color.Red;
tbl.Rows[row][cell].CellFormat.BorderRight.Width = 5;
}
}
// Guardar PPTX en el disco
pres.Save("table.pptx", SaveFormat.Pptx);
La siguiente captura de pantalla muestra la tabla que hemos creado usando el código anterior.
Acceder a una tabla en una presentación usando C#
También puede acceder a las tablas en las presentaciones de PowerPoint existentes y manipularlas según sea necesario. Los siguientes son los pasos para acceder a las tablas en una presentación.
- Primero, cargue una presentación existente usando la clase Presentation.
- Luego, obtenga la referencia de la diapositiva deseada en un objeto ISlide.
- Cree una instancia de ITable e inicialícela con nulo.
- Iterar a través de todos los objetos IShape en la colección ISlide.Shapes.
- Filtra las formas de tipo ITable.
- Escriba la forma en ITable y manipúlela según sea necesario.
- Finalmente, guarde la presentación usando el método Presentation.Save(String, SaveFormat).
El siguiente ejemplo de código muestra cómo acceder a las tablas en una presentación de PowerPoint mediante C#.
// Cargar presentación
using (Presentation pres = new Presentation("UpdateExistingTable.pptx"))
{
// Accede a la primera diapositiva
ISlide sld = pres.Slides[0];
// Inicializar TableEx nulo
ITable tbl = null;
// Iterar a través de las formas y establecer una referencia a la tabla encontrada
foreach (IShape shp in sld.Shapes)
if (shp is ITable)
tbl = (ITable)shp;
// Establecer el texto de la primera columna de la segunda fila
tbl[0, 1].TextFrame.Text = "New";
//Escribir el PPTX en el disco
pres.Save("table1_out.pptx", Aspose.Slides.Export.SaveFormat.Pptx);
}
Dar formato al texto en las tablas de PowerPoint con C#
Aspose.Slides for .NET también le permite establecer el formato de las tablas con bastante facilidad, como se demuestra en los pasos a continuación.
- Primero, cargue una presentación existente usando la clase Presentation.
- Luego, obtenga la referencia de la diapositiva deseada en un objeto ISlide.
- Recupere la referencia de la tabla deseada de la diapositiva en un objeto ITable.
- Configure el formato usando las clases PortionFormat, ParagraphFormat y TextFrameFormat.
- Asigne formato a la tabla usando los métodos ITable.setTextFormat().
- Finalmente, guarde la presentación usando el método Presentation.Save(String, SaveFormat).
El siguiente ejemplo de código muestra cómo configurar el formato de la tabla en PowerPoint usando C#.
// Crear o cargar presentación
Presentation presentation = new Presentation();
// Obtener referencia de la diapositiva
ISlide slide = presentation.Slides[0];
// Obtener referencia de la tabla
ITable someTable = presentation.Slides[0].Shapes[0] as ITable; // let's say that the first shape on the first slide is a table
// Establecer la altura de fuente de las celdas de la tabla
PortionFormat portionFormat = new PortionFormat();
portionFormat.FontHeight = 25;
someTable.SetTextFormat(portionFormat);
// Establecer la alineación del texto de las celdas de la tabla y el margen derecho en una sola llamada
ParagraphFormat paragraphFormat = new ParagraphFormat();
paragraphFormat.Alignment = TextAlignment.Right;
paragraphFormat.MarginRight = 20;
someTable.SetTextFormat(paragraphFormat);
// Establecer el tipo vertical de texto de las celdas de la tabla
TextFrameFormat textFrameFormat = new TextFrameFormat();
textFrameFormat.TextVerticalType = TextVerticalType.Vertical;
someTable.SetTextFormat(textFrameFormat);
// Guardar presentación
presentation.Save("result.pptx", SaveFormat.Pptx);
Bloquear la relación de aspecto de las tablas en PowerPoint usando C#
También puede bloquear la relación de aspecto de las tablas en las presentaciones de PowerPoint usando C#. Los siguientes son los pasos para lograrlo.
- Primero, cargue una presentación existente usando la clase Presentation.
- Luego, obtenga la referencia de la diapositiva deseada en un objeto ISlide.
- Cree una tabla o recupere la referencia de una tabla existente en un objeto ITable.
- Establezca la propiedad ITable.ShapeLock.AspectRatioLocked en !ITable.ShapeLock.AspectRatioLocked para bloquear la relación de aspecto.
- Finalmente, guarde la presentación usando el método Presentation.Save(String, SaveFormat).
El siguiente ejemplo de código muestra cómo bloquear la relación de aspecto de la tabla en las presentaciones de PowerPoint.
// Cargar presentación
using (Presentation pres = new Presentation("presentation.pptx"))
{
// Obtener referencia de la tabla
ITable table = (ITable)pres.Slides[0].Shapes[0];
Console.WriteLine($"Relación de aspecto de bloqueo set: {table.ShapeLock.AspectRatioLocked}");
// Relación de aspecto de bloqueo
table.ShapeLock.AspectRatioLocked = !table.ShapeLock.AspectRatioLocked; // invert
Console.WriteLine($"Relación de aspecto de bloqueo set: {table.ShapeLock.AspectRatioLocked}");
// Guardar presentación
pres.Save("pres-out.pptx", SaveFormat.Pptx);
}
Obtenga una licencia de API gratuita
Puede usar Aspose.Slides for .NET sin limitaciones de evaluación al obtener una licencia temporal gratuita.
Conclusión
En este artículo, ha aprendido a crear tablas en presentaciones de PowerPoint usando C#. Además, ha visto cómo acceder y manipular tablas existentes en las presentaciones de PowerPoint mediante programación. Además, puede visitar la documentación para explorar más sobre Aspose.Slides for .NET. Además, puede hacer sus preguntas a través de nuestro foro.