gpt4 book ai didi

c# - 使用 Python 与 C# 创建 PPT 演示文稿

转载 作者:太空宇宙 更新时间:2023-11-03 18:57:35 25 4
gpt4 key购买 nike

我即将自动化创建 PPT 的过程,但不确定该朝哪个方向发展。

总体目标是读取如下所示的 Excel 电子表格:

Path:
<somepath>
_________________________________________________________
Picture name | Title | Subtitle
__________________________________________________________

用户将为我提供图片的路径,然后我将根据他们提供的信息创建 PPT 演示文稿。

似乎有两条路可以选择 C# 或 Python,但我不确定该选择哪一条。有没有人有这方面的经验,您可以列出每个的优点和缺点,或者是否有另一种更好的解决方案,请让我知道。

最佳答案

确实有几种方法可以做到这一点。让我们开始吧,如果您计划创建一个可以执行相同功能的加载项,您可以在以下位置找到有关如何创建加载项的更多信息:https://netoffice.codeplex.com/

现在,让我们回到您的主要问题。一个简单的方法是使用 C#。

//http://netoffice.codeplex.com/discussions/277323
/// Loop through all our sheets in Excel in order to make the replacement
foreach (Excel.Worksheet sheet in workbook.Sheets)
{
/// Select current sheet
sheet.Activate();
workSheet = (Excel.Worksheet)xlsApp.Worksheets[worksheetnumber];
//Console.WriteLine(workSheet.Name);
foreach (Excel.Range cell in workSheet.UsedRange)
{

}
}

这段代码允许您循环遍历所有工作表并检查已使用的单元格。

就您的情况而言,您希望考虑一些特定范围。

sheet.UsedRange.Copy(Missing.Value);

您可以将该变量保存到变量中,然后逐行读取它并解释其结果。

以上是 Excel 部分,现在我们来看看 Powerpoint 部分。如何计划创建你的Powerpoint,你想要存储什么信息,在每张幻灯片上显示一张图片?每张幻灯片有几张图片?您可以做的是,创建模板 Powerpoint 并循环浏览它

foreach (PowerPoint.Slide slide in presentation.Slides)
{
slide.Select();
slide.Shapes.AddPicture(temporaryFilePath + ".bmp", MsoTriState.msoTrue, MsoTriState.msoTrue, pptleft, ppttop, pptwidth, pptheight);
}

这实际上会在每张幻灯片上添加一张图片。如果你想自己创建一个新的幻灯片,你必须定义一个新的对象,要么是一个表格,要么是一张图片,没关系,它的概念。

 PowerPoint.Table objTable = null;
objTable = presentation.Slides[slide.SlideIndex].Shapes.AddTable(amountrowsshown, pptshape.Table.Columns.Count, topsize, leftsize, slide.Master.Width - widthsize, slide.Master.Height - heightsize).Table;
presentation.Slides.Add(slide.SlideIndex + newaddslidecounter, NetOffice.PowerPointApi.Enums.PpSlideLayout.ppLayoutClipArtAndVerticalText);

到目前为止,我们已经了解了如何获取 Excel 使用的范围,现在,您的工作是将其应用于您想要使用的特定范围。您知道如何遍历所有幻灯片以及如何根据需要添加新幻灯片。缺少的部分是保存 Excel 和 Powerpoint。

presentation.SaveAs("myfile.pptx");
presentation.Close();
ppApp.Quit();
workbook.SaveAs("myfile.xlsx");
workbook.Close();
xlsApp.Quit();

关于c# - 使用 Python 与 C# 创建 PPT 演示文稿,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16922366/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com