EXCEL 工具

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

發佈 2024年3月26日
分享:

簡介

PowerPoint 簡報繼續在商業、教育和其他領域中成為高效資訊傳遞的標準。無論是教課、向團隊匯報專案進度,還是向潛在投資者做簡報,PowerPoint 都是一個靈活的工具,可以提升您的溝通效果。然而,從頭開始創建簡報可能需要花費很多時間,設計的效率和一致性也未必總是達到所需要的水平。這時,PowerPoint 模板就派上用場了,提供現成的帶有主題和佈局的幻燈片,可根據您的需求進行修改。

在這篇文章中,我們將探討如何使用 C# 從模板創建 PowerPoint。我們可以通過使用 Microsoft 提供的工具來加快這個過程,使客戶輕鬆創建精美的簡報。 PowerPoint互操作庫.

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

  1. 建立一個新的 C# 專案。

  2. 在新實例中啟動 PowerPoint 程式。

  3. 從模板中插入投影片到新建立的簡報。

  4. 建立一個新檔案並儲存簡報。

  5. 關閉 PowerPoint 程式並結束簡報。

從範本理解 PowerPoint

在進入代碼之前,我們先來回顧一下以程式設計方式撰寫 PowerPoint 簡報的基本概念。使用 Microsoft 的 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 框架,再點擊「建立」。

如何在C#中使用範本創建 PowerPoint:圖3 - 選擇適當的 .NET 框架並點擊「創建」。

在一個新建立的 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插入幻燈片後保存簡報的方法()方法,使用Close關閉PowerPoint程序() method,然後使用Quit退出演示() 方法。這樣,您可以通過利用 InsertFromFile 技術動態地從外部文件中添加幻燈片來改進您的 PowerPoint 演示文稿的內容和靈活性。

輸出

如何在 C# 中使用範本建立 PowerPoint:圖 5 - 輸出:output.pptx

IronXL

介紹一個功能豐富的C#庫,用於處理Excel文件,名為 IronXL. Iron Software 的 IronXL 提供了廣泛的工具,用於動態創建、填充和格式化 Excel 文件。借助其用戶友好的 API 及詳盡的文檔說明,IronXL 簡化了 C# 中的 Excel 交互,為開發者提供了無縫的 Excel 任務體驗。

IronXL 的功能

  • 廣泛的 Excel 支援:IronXL 能夠在各種 Excel 格式中開啟和操作大量的 Excel 文件,例如 CSV、XLS 和 XLSX 文件格式。開發者可以利用 IronXL 強大的解析功能,有效地從現有的 Excel 文件中提取數據,無論是舊版還是當代的 Excel 文件。
  • 高速度:IronXL 重視性能優化。通過使用高效的算法和內存管理策略,Excel 交互可靠且快速。IronXL 提供減少內存開銷和優化處理速度,使開發者能夠輕鬆管理大型的 Excel 文件。
  • 簡單易用的 API:IronXL 的用戶友好 API 使其適合各種技能水平的開發者。IronXL 提供簡單的方法來讀取 Excel 文件、訪問 Excel 活頁簿和從單元格中獲取數據,從而減少 C# 開發者的學習曲線並加快創建和讀取現有文件的過程。

要了解更多有關 IronXL 文件的資訊,請參考 這裡這裡.

安裝 IronXL

要安裝 IronXL,請使用以下步驟中的說明和命令:

在 Visual Studio 中,導航到工具 -> NuGet 套件管理員 -> 套件管理員介面。

在套件管理員的控制台標籤中輸入以下代碼:

Install-Package IronXL.Excel

IronXL 套件在下載並安裝到當前項目後即可使用。

使用 IronXL 創建 Excel

現在讓我們來看一些實際的代碼範例,演示如何使用 IronXL 在 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 建立一個新的 WorkBook 對象() 指定必要的Excel檔案格式的函數。下一步是在工作簿中建立一個新的工作表,並在一個二維數組中說明一些樣本數據。接下來,為了使用樣本數據填充試算表,我們利用嵌套循環來訪問和設置不同單元格的值。為了釋放系統資源,我們使用SaveAs後關閉工作簿。() 將方法儲存到名為 "SampleData.xlsx" 的檔案中。同樣地,我們可以為目標檔案生成多個工作表。

下圖顯示了作為輸出的 Excel 檔案。如需了解更多有關撰寫 Excel 檔案的資訊,請參考程式碼範例。 頁面.

如何在 C# 中使用從範本建立 PowerPoint:圖 6 - Excel 文件輸出

結論

總而言之,使用 C# 從範本建立 PowerPoint 簡報,使用戶能夠提高設計的一致性,加快工作流程,並製作具有影響力的內容。通過自動化創建過程並利用 Microsoft PowerPoint Interop 庫的功能,開發人員可以節省時間和精力,同時保證專業的成果。學習這一方法將幫助您作為演講者、商務專業人士或教育工作者,提高您的演講技巧,並通過引人注目的幻燈片吸引您的觀眾。

對於 C# 開發人員, IronXL 是一個強大的微軟 Excel 替代方案,提供完全支援 Excel、卓越的性能以及與 .NET 框架的無縫互動。IronXL 的用戶友好 API 和對 Excel 文件的細粒度控制簡化了 C# 中的 Excel 寫入過程。這使得開發人員能夠自動化 Excel 相關任務、導出數據以及生成動態報告。無論是為桌面應用程序、網絡應用程序還是移動應用程序創建 Excel 文件,C# 開發人員都可以依賴 IronXL 來簡化 Excel 相關的任務,並在其 C# 程序中充分發揮 Excel 的潛力。

當 IronXL 首次啟動時,成本為 $749。此外,用戶可以選擇支付一年的會員費以獲取產品協助和更新。IronXL 收費提供針對無限制重新分發的保護。要了解更多大致費用,請訪問這個 授權頁面. 了解更多有關Iron Software的資訊,請點擊此網站 連結.

< 上一頁
如何在 C# 中查看 PowerPoint 文件
下一個 >
.NET 正則表達式測試工具(它如何為開發者工作)

準備開始了嗎? 版本: 2024.10 剛剛發布

免費 NuGet 下載 總下載次數: 1,023,839 查看許可證 >