EXCEL 工具

如何在C#中使用模板创建PowerPoint

发布 2024年三月26日
分享:

介绍

PowerPoint 演示文稿仍然是商业、教育和其他领域有效传达信息的标准。 PowerPoint 是一种灵活的工具,无论您是在课堂上授课、向团队提供项目更新信息,还是向可能的投资者进行演示,它都可以改善您的沟通工作。 然而,从头开始制作演示文稿可能会耗费大量时间,而且设计的效率和统一性可能并不总是符合要求。 这时,PowerPoint 模板就派上用场了,它提供了带有主题和布局的现成幻灯片,可以根据您的要求进行修改。

在本篇文章中,我们将了解如何使用 C# 从模板创建 PowerPoint。 我们可以加快翻译过程,通过使用 MicrosoftPowerPoint 互操作库.

如何在 C# 中使用从模板创建 PowerPoint;

  1. 创建一个新的 C# 项目。

  2. 在新实例中启动 PowerPoint 程序。

  3. 将模板中的幻灯片插入到新创建的演示文稿中。

  4. 创建新文件并保存演示文稿。

  5. 关闭 PowerPoint 程序并结束演示。

了解模板中的 PowerPoint

在进入代码之前,让我们先回顾一下以编程方式编写 PowerPoint 演示文稿的基本思路。 借助微软提供的 PowerPoint Interop 库,开发人员可以使用 C# 等 .NET 语言与 PowerPoint 应用程序进行通信。 该软件包提供了许多功能,包括创建幻灯片、添加文本、插入图片和应用格式化。

创建一个新的Visual Studio项目

开始新的Visual Studio请按照以下说明进行翻译。

启动 Visual Studio 应用程序。 在使用 Visual Studio 之前,请确保您已在计算机上安装。

选择文件,然后新建,最后选择项目。

如何使用 C# 从模板创建 PowerPoint:图 1 - 在 Visual Studio 中创建新项目。 选择 C# 语言和控制台应用程序或控制台应用程序(.NET Core)项目。

选择您喜欢的编程语言(例如 C#)从 "创建一个新项目 "框的左侧选择 "翻译"。 接下来,从可用的项目模板列表中选择 "控制台应用程序 "或 "控制台应用程序"。(.NET Core)"模板。 要为您的项目命名,请填写 "名称 "字段。

如何使用 C# 从模板创建 PowerPoint:图 2 - 配置控制台应用程序项目:添加项目名称和位置。

决定项目的存储位置。 要开始新的控制台应用程序项目,请单击 "下一步"。 然后选择相应的 .NET Framework,点击 "创建"。

如何使用 C# 从模板创建 PowerPoint:图 3 - 选择适当的 .NET Framework,然后点击 "创建"。

在一个刚刚建立的 C# 项目中,添加对 Microsoft PowerPoint Interop 库的引用。 有了这个库,您现在可以更轻松地开发演示文稿并与之互动,因为它实现了您的 C# 代码与 PowerPoint 应用程序之间的通信。

使用 C# 从模板创建 PowerPoint;

第一步是加载构成新演示文稿基础的 PowerPoint 模板。在模板中经常可以看到预定义的幻灯片布局、主题和内容占位符。 Microsoft.Office.PowerPoint.Interop 库的功能允许我们打开模板文件,并从我们的 C# 源代码中检索其内容。

using PowerPoint = Microsoft.Office.Interop.PowerPoint;
class Program
{
    static void Main(string [] args)
    {
        // Initialize PowerPoint application
        PowerPoint.Application powerpointApp = new PowerPoint.Application();
        // Load a PowerPoint file
        PowerPoint.Presentation presentation = powerpointApp.Presentations.Open(
            @"C:\Path\To\Existing\output.pptx",
            MsoTriState.msoFalse,
            MsoTriState.msoFalse,
            MsoTriState.msoTrue);
        // ppt slide from a template file
        presentation.Slides.InsertFromFile(
            @"C:\Path\To\External\demo.pptx",
            presentation.Slides.Count + 1,
            1,
            0);
        // Save the updated presentation
        presentation.Save();
        // Close the presentation and quit PowerPoint application
        presentation.Close();
        powerpointApp.Quit();
    }
}
using PowerPoint = Microsoft.Office.Interop.PowerPoint;
class Program
{
    static void Main(string [] args)
    {
        // Initialize PowerPoint application
        PowerPoint.Application powerpointApp = new PowerPoint.Application();
        // Load a PowerPoint file
        PowerPoint.Presentation presentation = powerpointApp.Presentations.Open(
            @"C:\Path\To\Existing\output.pptx",
            MsoTriState.msoFalse,
            MsoTriState.msoFalse,
            MsoTriState.msoTrue);
        // ppt slide from a template file
        presentation.Slides.InsertFromFile(
            @"C:\Path\To\External\demo.pptx",
            presentation.Slides.Count + 1,
            1,
            0);
        // Save the updated presentation
        presentation.Save();
        // Close the presentation and quit PowerPoint application
        presentation.Close();
        powerpointApp.Quit();
    }
}
Imports PowerPoint = Microsoft.Office.Interop.PowerPoint
Friend Class Program
	Shared Sub Main(ByVal args() As String)
		' Initialize PowerPoint application
		Dim powerpointApp As New PowerPoint.Application()
		' Load a PowerPoint file
		Dim presentation As PowerPoint.Presentation = powerpointApp.Presentations.Open("C:\Path\To\Existing\output.pptx", MsoTriState.msoFalse, MsoTriState.msoFalse, MsoTriState.msoTrue)
		' ppt slide from a template file
		presentation.Slides.InsertFromFile("C:\Path\To\External\demo.pptx", presentation.Slides.Count + 1, 1, 0)
		' Save the updated presentation
		presentation.Save()
		' Close the presentation and quit PowerPoint application
		presentation.Close()
		powerpointApp.Quit()
	End Sub
End Class
VB   C#

加载模板后,我们使用其布局创建一个新的演示文稿。 我们使用 PowerPoint 演示文件(output.pptx). 这有助于我们创建一个 PowerPoint 演示对象,作为我们材料的画布。 该演示文稿将沿用模板的布局和主题,使其具有统一的视觉风格。

如何使用 C# 从模板创建 PowerPoint:图 4 - 第二个 PowerPoint 文件 (demo.pptx),其中包含您希望包含在演示文稿中的幻灯片

presentation.Slides.InsertFromFile() 方法需要四个参数,即 FileNameIndexSlideStartSlideEnd

第一个参数是 PowerPoint 文件的路径,其中包含您希望包含在演示文稿中的幻灯片。(demo.pptx). 下一个参数是用户需要从模板复制到新文件的幻灯片数量。 其他两个参数为可选参数。 这些参数允许我们传递幻灯片的开始和结束索引。 如果我们需要提取两张幻灯片之间的幻灯片,我们可以使用这些参数。

您可以使用presentation.Save。() 使用 InsertFromFile 插入幻灯片后保存演示文稿的方法() 方法关闭 PowerPoint 程序。() 方法,然后使用 Quit 退出演示文稿。() 方法。 这样,您就可以利用InsertFromFile**技术从外部文件动态添加幻灯片,从而改进 PowerPoint 演示文稿的内容和灵活性。

输出

如何使用 C# 从模板创建 PowerPoint:图 5 - 输出:output.pptx

IronXL

介绍一个用于处理 Excel 文件的功能丰富的 C# 库,名为铁XL. Iron Software 的IronXL为动态创建、填充和格式化 Excel 文档提供了多种工具。 凭借其用户友好的 API 和丰富的文档,IronXL 简化了 Excel 在 C# 中的交互,为开发人员提供了 Excel 相关任务的无缝体验。

IronXL 的功能

  • 广泛的 Excel 支持:IronXL.Excel 能够打开和处理大量各种 Excel 格式的 Excel 文件,如 CSV、XLS 和 XLSX 文件格式。 借助 IronXL.Excel 强大的解析功能,开发人员可以有效地从现有 Excel 文件中提取数据,同时利用旧版和现代 Excel 文件。
  • 高速:IronXL 优先考虑性能优化。 由于使用了高效的算法和内存管理策略,Excel 的交互既可靠又快速。 IronXL.Excel 降低了内存开销,优化了处理速度,因此开发人员可以轻松管理庞大的 Excel 文件。
  • 直观且用户友好的 API:IronXL 的用户友好 API 使其适合各种技能水平的开发人员使用。 IronXL.Excel 通过提供读取 Excel 文件、访问 Excel 工作簿和从单元格中获取数据的简单方法,降低了 C# 开发人员的学习曲线,加快了创建和读取现有文件的过程。

    要了解有关 IronXL 文档的更多信息,请参阅这里.

安装 IronXL

要安装 IronXL,请使用以下步骤中给出的说明和命令:

在 Visual Studio 中,导航至工具 -> NuGet 包管理器 -> 包管理器界面。

在软件包管理器的控制台选项卡中输入以下代码:

Install-Package IronXL.Excel

IronXL 软件包下载并安装到当前项目后即可使用。

使用 IronXL.Excel 创建 Excel

现在让我们检查一个实际代码示例,该示例演示了如何使用 IronXL.Excel 在 C# 中将数据写入 Excel 文档。 我们将介绍如何启动一个新的 Excel 工作簿,完成一个工作表,然后将信息保存到文件中:

using IronXL;
class Program
{
    static void Main(string [] args)
    {
            // Create a new WorkBook object
            WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX);
            // Add a new WorkSheet to the workbook
            WorkSheet workSheet = workBook.CreateWorkSheet("Sheet1");
            // Define sample data
            string [,] data = {
            { "Name", "Age", "City" },
            { "Superman ", "35", "Metropolis" },
            { "Batman", "34", "Metropolis" },
            { "Flash", "30", "Central City" }
        };
            // Populate the worksheet with data
            for (int row = 0; row < data.GetLength(0); row++)
            {
                for (int col = 0; col < data.GetLength(1); col++)
                {
                    workSheet.SetCellValue(row, col, data [row, col]);
                }
            }
            // Save the workbook to a  xlsx file
            workBook.SaveAs("Demo.xlsx");
            // Close the workbook
            workBook.Close();
    }
}
using IronXL;
class Program
{
    static void Main(string [] args)
    {
            // Create a new WorkBook object
            WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX);
            // Add a new WorkSheet to the workbook
            WorkSheet workSheet = workBook.CreateWorkSheet("Sheet1");
            // Define sample data
            string [,] data = {
            { "Name", "Age", "City" },
            { "Superman ", "35", "Metropolis" },
            { "Batman", "34", "Metropolis" },
            { "Flash", "30", "Central City" }
        };
            // Populate the worksheet with data
            for (int row = 0; row < data.GetLength(0); row++)
            {
                for (int col = 0; col < data.GetLength(1); col++)
                {
                    workSheet.SetCellValue(row, col, data [row, col]);
                }
            }
            // Save the workbook to a  xlsx file
            workBook.SaveAs("Demo.xlsx");
            // Close the workbook
            workBook.Close();
    }
}
Imports IronXL
Friend Class Program
	Shared Sub Main(ByVal args() As String)
			' Create a new WorkBook object
			Dim workBook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
			' Add a new WorkSheet to the workbook
			Dim workSheet As WorkSheet = workBook.CreateWorkSheet("Sheet1")
			' Define sample data
			Dim data(,) As String = {
				{ "Name", "Age", "City" },
				{ "Superman ", "35", "Metropolis" },
				{ "Batman", "34", "Metropolis" },
				{ "Flash", "30", "Central City" }
			}
			' Populate the worksheet with data
			For row As Integer = 0 To data.GetLength(0) - 1
				For col As Integer = 0 To data.GetLength(1) - 1
					workSheet.SetCellValue(row, col, data (row, col))
				Next col
			Next row
			' Save the workbook to a  xlsx file
			workBook.SaveAs("Demo.xlsx")
			' Close the workbook
			workBook.Close()
	End Sub
End Class
VB   C#

在本代码示例中,我们首先使用 IronXL 的 Create()在翻译过程中,必须使用 Excel 函数,并指定必要的 Excel 文件格式。 下一步是在工作簿中新建一个工作表,并解释二维数组中的一些示例数据。 接下来,为了用样本数据填充电子表格,我们利用嵌套循环来访问和设置不同单元格的值。 为了释放系统资源,我们在使用 SaveAs 后关闭了工作簿。()请使用以下方法将其保存到名为 "SampleData.xlsx "的文件中。 同样,我们也能为目标文件生成多张译文。

作为输出创建的 Excel 文件如下所示。 要了解有关编写 Excel 文件的更多信息,请参阅代码示例页码.

如何使用 C# 从模板创建 PowerPoint:图 6 - Excel 文件输出

结论

总之,利用 C# 从模板创建 PowerPoint 演示文稿可以让用户提高设计一致性、加快工作流程并制作出具有效果的内容。 开发人员可以通过自动创建流程和利用 Microsoft PowerPoint Interop 库的功能来节省时间和工作,同时保证专业成果。 学习这种方法将帮助作为演讲者、商业专业人士或教育工作者的您提高演讲技巧,并通过吸引眼球的幻灯片抓住听众。

针对 C# 开发人员、铁XL是 Microsoft Excel 的强大替代工具,提供对 Excel 的全面支持、出色的性能以及与 .NET Framework 的无缝交互。 IronXL.Excel 的用户友好 API 和对 Excel 文档的细粒度控制简化了 Excel 的 C# 写作。 这有助于开发人员自动执行 Excel 相关任务、导出数据和生成动态报告。 无论是为桌面、网络还是移动应用程序创建 Excel 文件,C# 开发人员都可以依靠 IronXL.Excel 来简化 Excel 相关任务,并在他们的 C# 程序中充分释放 Excel 的潜力。

IronXL 首次推出时的费用为 $749。 此外,用户还可以选择支付一年的会员费,以获得产品帮助和更新。 IronXL 可提供有偿保护,防止无限制的再分发。 如需了解有关大致费用的更多信息,请访问此处许可证页面. 点击此网站查看有关 Iron Software 的更多信息链接.

< 前一页
如何在C#中查看PowerPoint文件
下一步 >
使用 .NET Regex Tester 测试您的 Regex 模式

准备开始了吗? 版本: 2024.11 刚刚发布

免费NuGet下载 总下载量: 1,111,773 查看许可证 >