As tabelas são usadas para organizar os dados na forma de linhas e colunas. Além disso, eles organizam e resumem os dados para que possam ser visualizados e analisados facilmente. MS PowerPoint também permite inserir tabelas nas apresentações. Assim, este artigo aborda como criar e manipular tabelas em apresentações do PowerPoint usando C#.
- API C# para criar e manipular tabelas no PowerPoint
- Criar uma tabela em apresentações do PowerPoint
- Acessar uma tabela em uma apresentação
- Formatar texto em tabelas do PowerPoint
- Relação de aspecto de bloqueio das tabelas
API C# para criar e manipular tabelas no PowerPoint
Para criar e manipular tabelas em apresentações do PowerPoint, usaremos Aspose.Slides for .NET. A API permite criar, manipular e converter documentos do PowerPoint e OpenOffice. Você pode baixar a DLL da API e adicionar uma referência a ela em seu projeto. Além disso, você pode instalá-lo usando NuGet.
PM> Install-Package Aspose.Slides.NET
Criar uma tabela em apresentações do PowerPoint usando C#
Criar uma tabela usando Aspose.Slides para .NET é muito fácil. As etapas a seguir mostram como criar uma tabela em uma apresentação do PowerPoint usando C#.
- Primeiro, crie uma nova apresentação ou carregue uma existente usando a classe Apresentação.
- Em seguida, obtenha a referência do slide desejado em um objeto ISlide.
- Defina a largura e a altura de colunas e linhas, respectivamente, em arrays double[].
- Insira uma nova tabela na apresentação usando o método ISlide.Shapes.AddTable().
- Obtenha a referência da tabela recém-criada em um objeto ITable.
- Crie um loop para percorrer as linhas da tabela.
- Crie um loop aninhado para percorrer as células da tabela e, em cada iteração, execute as seguintes operações.
- Defina o texto da célula usando a propriedade ITable.Rows[rowIndex][cellIndex].TextFrame.Text.
- Obtenha a referência da formatação da célula em um objeto ICellFormat e defina o estilo da borda da célula, se necessário.
- Finalmente, salve a apresentação usando o método Presentation.Save(String, SaveFormat).
O exemplo de código a seguir mostra como criar uma tabela em uma apresentação do PowerPoint.
// Criar ou carregar apresentação
Presentation pres = new Presentation();
// Acesse o primeiro slide
ISlide sld = pres.Slides[0];
// Definir colunas com larguras e linhas com alturas
double[] dblCols = { 50, 50, 50 };
double[] dblRows = { 50, 30, 30, 30, 30 };
// Adicionar forma de tabela ao slide
ITable tbl = sld.Shapes.AddTable(100, 50, dblCols, dblRows);
// Defina o formato e o texto da borda para cada célula
for (int row = 0; row < tbl.Rows.Count; row++)
{
for (int cell = 0; cell < tbl.Rows[row].Count; cell++)
{
// Adicionar texto à célula
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;
}
}
// Salvar PPTX no disco
pres.Save("table.pptx", SaveFormat.Pptx);
A captura de tela a seguir mostra a tabela que criamos usando o código acima.
Acesse uma tabela em uma apresentação usando C#
Você também pode acessar as tabelas nas apresentações existentes do PowerPoint e manipulá-las conforme necessário. A seguir estão as etapas para acessar as tabelas em uma apresentação.
- Primeiro, carregue uma apresentação existente usando a classe Apresentação.
- Em seguida, obtenha a referência do slide desejado em um objeto ISlide.
- Crie uma instância de ITable e inicialize-a com null.
- Itere através de todos os objetos IShape na coleção ISlide.Shapes.
- Filtre as formas do tipo ITable.
- Digite cast a forma em ITable e manipule-a conforme necessário.
- Finalmente, salve a apresentação usando o método Presentation.Save(String, SaveFormat).
O exemplo de código a seguir mostra como acessar tabelas em uma apresentação do PowerPoint usando C#.
// Carregar apresentação
using (Presentation pres = new Presentation("UpdateExistingTable.pptx"))
{
// Acesse o primeiro slide
ISlide sld = pres.Slides[0];
// Inicializar nulo TableEx
ITable tbl = null;
// Iterar pelas formas e definir uma referência para a tabela encontrada
foreach (IShape shp in sld.Shapes)
if (shp is ITable)
tbl = (ITable)shp;
// Defina o texto da primeira coluna da segunda linha
tbl[0, 1].TextFrame.Text = "New";
//Gravar o PPTX no disco
pres.Save("table1_out.pptx", Aspose.Slides.Export.SaveFormat.Pptx);
}
Formatar texto em tabelas do PowerPoint usando C#
O Aspose.Slides for .NET também permite que você defina a formatação das tabelas com bastante facilidade, conforme demonstrado nas etapas abaixo.
- Primeiro, carregue uma apresentação existente usando a classe Apresentação.
- Em seguida, obtenha a referência do slide desejado em um objeto ISlide.
- Recupere a referência da tabela desejada do slide em um objeto ITable.
- Defina a formatação usando as classes PortionFormat, ParagraphFormat e TextFrameFormat.
- Atribua formatação à tabela usando os métodos ITable.setTextFormat().
- Finalmente, salve a apresentação usando o método Presentation.Save(String, SaveFormat).
O exemplo de código a seguir mostra como definir a formatação da tabela no PowerPoint usando C#.
// Criar ou carregar apresentação
Presentation presentation = new Presentation();
// Obter referência do slide
ISlide slide = presentation.Slides[0];
// Obter referência da tabela
ITable someTable = presentation.Slides[0].Shapes[0] as ITable; // let's say that the first shape on the first slide is a table
// Definir a altura da fonte das células da tabela
PortionFormat portionFormat = new PortionFormat();
portionFormat.FontHeight = 25;
someTable.SetTextFormat(portionFormat);
// Defina o alinhamento do texto das células da tabela e a margem direita em uma chamada
ParagraphFormat paragraphFormat = new ParagraphFormat();
paragraphFormat.Alignment = TextAlignment.Right;
paragraphFormat.MarginRight = 20;
someTable.SetTextFormat(paragraphFormat);
// Definir o tipo vertical de texto das células da tabela
TextFrameFormat textFrameFormat = new TextFrameFormat();
textFrameFormat.TextVerticalType = TextVerticalType.Vertical;
someTable.SetTextFormat(textFrameFormat);
// Salvar apresentação
presentation.Save("result.pptx", SaveFormat.Pptx);
Bloquear proporção de tabelas no PowerPoint usando C#
Você também pode bloquear a proporção das tabelas em apresentações do PowerPoint usando C#. A seguir estão os passos para conseguir isso.
- Primeiro, carregue uma apresentação existente usando a classe Apresentação.
- Em seguida, obtenha a referência do slide desejado em um objeto ISlide.
- Crie uma tabela ou recupere a referência de uma tabela existente em um objeto ITable.
- Defina a propriedade ITable.ShapeLock.AspectRatioLocked como !ITable.ShapeLock.AspectRatioLocked para bloquear a proporção.
- Finalmente, salve a apresentação usando o método Presentation.Save(String, SaveFormat).
O exemplo de código a seguir mostra como bloquear a proporção da tabela em apresentações do PowerPoint.
// Carregar apresentação
using (Presentation pres = new Presentation("presentation.pptx"))
{
// Obter referência da tabela
ITable table = (ITable)pres.Slides[0].Shapes[0];
Console.WriteLine($"Bloquear proporção set: {table.ShapeLock.AspectRatioLocked}");
// Bloquear proporção
table.ShapeLock.AspectRatioLocked = !table.ShapeLock.AspectRatioLocked; // invert
Console.WriteLine($"Bloquear proporção set: {table.ShapeLock.AspectRatioLocked}");
// Salvar apresentação
pres.Save("pres-out.pptx", SaveFormat.Pptx);
}
Obtenha uma licença de API gratuita
Você pode usar o Aspose.Slides para .NET sem limitações de avaliação obtendo uma licença temporária gratuita.
Conclusão
Neste artigo, você aprendeu como criar tabelas em apresentações do PowerPoint usando C#. Além disso, você viu como acessar e manipular as tabelas existentes nas apresentações do PowerPoint programaticamente. Além disso, você pode visitar a documentação para explorar mais sobre o Aspose.Slides para .NET. Além disso, você pode fazer suas perguntas através do nosso fórum.