C#如何实现在PPT文档中插入、编辑和删除表格的操作

提示:在进行代码操作之前,需要在添加引用Spire.XLS 的dll文件到项目程序集中

问题1:如何创建?

第一步,初始化一个Presentation实例

Presentation ppt = new Presentation();
ppt.SlideSize.Type = SlideSizeType.Screen16x9;

第二步,初始化一个ITable实例

double[] widths = new double[] { 100, 100, 100, 100, 100 };
double[] heights = new double[] { 15, 15, 15, 15, 15 };
ITable table = ppt.Slides[0].Shapes.AppendTable(80, 80, widths, heights);

第三步,设置表格内置格式

table.StylePreset = TableStylePreset.LightStyle1Accent2;

第四步,声明数组

string[,] data = new string[,]
{
    {"排名","姓名","销售额","回款额","工号"},
    {"1","李彪","18270","18270","0011"},
    {"2","李娜","18105","18105","0025"},
    {"3","张丽","17987","17987","0008"},
    {"4","黄艳","17790","17790","0017"},
};

最后,保存文档即可

ppt.SaveToFile("创建表格.pptx", FileFormat.Pptx2010);

按上面的操作可以得到以下的操作效果图

 

问题2,如何编辑?

eg:删除行和列

第一步,初始化一个presentation类实例,并加载一个ppt文档

Presentation ppt = new Presentation();
ppt.LoadFromFile(@"C:\Users\Administrator\Desktop\创建表格.pptx");

第二步,获取幻灯片上的表格

for (int i = 0; i < 5; 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("Arial");
    }
}

第三步,删除行和列

table.ColumnsList.RemoveAt(3, false);
table.TableRows.RemoveAt(4, false);

最后,保存文档

ppt.SaveToFile("删除行与列.pptx", FileFormat.Pptx2010);

效果图:

问题3,如何删除表格?

第一步,初始化一个Presentation类实例,并加载一个PPT文档

Presentation ppt = new Presentation();
ppt.LoadFromFile(@"C:\Users\Administrator\Desktop\创建表格.pptx");

第二步,初始化一个List对象,元素类型为IShape

List<IShape> tableShapes = new List<IShape>();

第三步,获取第一张幻灯片上所有的表格图形

for (int i = 0; i < 5; 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("Arial");
    }
}

第四步,删除表格图形

ppt.Slides[0].Shapes.Remove(tableShapes[0]);

最后,保存文档

ppt.SaveToFile("删除表格.pptx", FileFormat.Pptx2010);

查看原文档可以发现,ppt中的第一个表格已经被删除了。

 小结

在本篇文章中的操作步骤及过程是基于Spire.XLS组件,在C#中的应用。在对文档进行操作时需要添加dll文件,这个是前提条件。但在整个操作过程中,其实步骤是比较简单的。

(本篇完)

感谢对本文的支持!

转载于:https://my.oschina.net/u/3716391/blog/1557081

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值