在 PowerPoint 中,表格是一种非常实用的工具,可以帮助你以清晰、简洁且直观的方式展示和整理数据。通过使用表格,你能够更有效地传达复杂信息,让观众更容易理解并记住重点内容。
本文将介绍如何使用 Spire.Presentation for .NET,在 C# 和 VB.NET 中向 PowerPoint 演示文稿插入表格。
安装 Spire.Presentation for .NET
在开始之前,您需要将 Spire.Presentation for .NET 安装包中的 DLL 文件添加为 .NET 项目的引用。您可以通过官方下载链接获取 DLL 文件,或直接通过 NuGet 进行安装。
cs
PM> Install-Package Spire.Presentation
在 C# 和 VB.NET 中向 PowerPoint 演示文稿插入表格
您可以使用 ISlide.Shapes.AppendTable(float x, float y, double[] widths, double[] heights) 方法,在指定幻灯片上添加表格。具体步骤如下:
-
创建
Presentation类的实例。 -
通过
Presentation.LoadFromFile(string file)方法加载 PowerPoint 文件。 -
使用
Presentation.Slides[int index]属性获取指定的幻灯片。 -
定义两个
double数组(widths和heights),分别用于设置表格列数、列宽以及行数、行高。 -
调用
ISlide.Shapes.AppendTable(float x, float y, double[] widths, double[] heights)方法,在幻灯片指定位置添加具有指定行列数量和尺寸的表格。 -
使用一个二维字符串数组存储表格数据。
-
遍历该二维数组,并通过
ITable[int columnIndex, int rowIndex].TextFrame.Text属性,将数据填充到对应的单元格中。 -
将表格首行内容设置为居中对齐。
-
通过
ITable.StylePreset属性为表格应用内置样式。 -
最后,使用
Presentation.SaveToFile(string file, FileFormat fileFormat)方法保存演示文稿。
完整示例代码如下:
cs
using Spire.Presentation;
namespace InsertTable
{
internal class Program
{
static void Main(string[] args)
{
//初始化 Presentation 类的实例
Presentation presentation = new Presentation();
//加载 PowerPoint 演示文稿
presentation.LoadFromFile(@"Input.pptx");
//获取第一张幻灯片
ISlide slide = presentation.Slides[0];
//定义两个 double 数组 widths 和 heights,用于指定表格的列数、列宽以及行数、行高
double[] widths = new double[] { 100, 100, 150, 100, 100 };
double[] heights = new double[] { 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15 };
//在幻灯片的指定位置添加具有指定行列数量和尺寸的表格
ITable table = slide.Shapes.AppendTable(presentation.SlideSize.Size.Width / 2 - 275, 90, widths, heights);
//使用二维字符串数组存储表格数据
string[,] data = new string[,]{
{"Name", "Capital", "Continent", "Area", "Population"},
{"Venezuela", "Caracas", "South America", "912047", "19700000"},
{"Bolivia", "La Paz", "South America", "1098575", "7300000"},
{"Brazil", "Brasilia", "South America", "8511196", "150400000"},
{"Canada", "Ottawa", "North America", "9976147", "26500000"},
{"Chile", "Santiago", "South America", "756943", "13200000"},
{"Colombia", "Bogota", "South America", "1138907", "33000000"},
{"Cuba", "Havana", "North America", "114524", "10600000"},
{"Ecuador", "Quito", "South America", "455502", "10600000"},
{"Paraguay", "Asuncion", "South America", "406576", "4660000"},
{"Peru", "Lima", "South America", "1285215", "21600000"},
{"Jamaica", "Kingston", "North America", "11424", "2500000"},
{"Mexico", "Mexico City", "North America", "1967180", "88600000"}
};
//遍历字符串数组,并将数据填充到表格的每个单元格中
for (int i = 0; i < 13; i++)
for (int j = 0; j < 5; j++)
{
//为表格的每个单元格赋值
table[j, i].TextFrame.Text = data[i, j];
//设置字体名称和字体大小
table[j, i].TextFrame.Paragraphs[0].TextRanges[0].LatinFont = new TextFont("Times New Roman");
table[j, i].TextFrame.Paragraphs[0].TextRanges[0].FontHeight = 16;
}
//将表格第一行的内容设置为居中对齐
for (int i = 0; i < 5; i++)
{
table[i, 0].TextFrame.Paragraphs[0].Alignment = TextAlignmentType.Center;
}
//为表格应用内置样式
table.StylePreset = TableStylePreset.MediumStyle2Accent6;
//将演示文稿保存到文件
presentation.SaveToFile("InsertTable.pptx", FileFormat.Pptx2013);
presentation.Dispose();
}
}
}
申请临时许可证
如果您希望去除生成文档中的评估提示信息,或解除功能限制,可以申请为期 30 天的试用许可证。