跳過到頁腳內容
使用 IRONWORD

如何在 C# 中導出文檔至 Word

IronWord 讓 C# 開發人員能透過簡單的程式碼,將資料匯出至 WORD 文件。 只需幾行代碼,您就能建立、填入內容並儲存包含文字、格式及複雜文件結構的 DOCX 檔案。

Microsoft WORD 是一款廣為使用的文件建立與編輯工具,以其多樣化的功能和友善的使用者介面而聞名。 在軟體開發過程中,無論是為了製作報告、撰寫文件或呈現資料,經常需要透過程式碼生成 WORD 文件。 無論您是建置自動化報表系統、生成發票、建立動態範本,還是從資料庫記錄中批次產出文件,將資料匯出為 WORD 格式的能力都能為您節省無數小時的手動作業時間。

在本指南中,我們將探討如何建立新的 [C#](https://en.wikipedia.org/wiki/C_Sharp_(programming_language) 控制台應用程式,並利用 IronWord(一個用於程式化操作 Word 文件的實用程式庫),將資料匯出至 MS Word 文件。 完成本教學後,您將掌握從專案設定到生成首份包含自訂內容的 WORD 文件的完整工作流程。

如何在 C# 中將文件匯出為 WORD 格式?

  1. 建立一個新的 C# Visual Studio 專案。
  2. 安裝 C# Word 庫,以便將資料匯出到 Word。
  3. 導入 Word 庫的依賴項。
  4. 使用"new WordDocument(paragraph)"方法建立一個新的 Word 文件。
  5. 使用"SaveAs()"函數儲存新建立的 Word 文件。

如何建立新的 C# 主控台應用程式?

若要在 Visual Studio 中建立新的 C# 控制台應用程式,請依照下列步驟操作。 "主控台應用程式"範本提供了一個簡單的起點,讓您在將此功能整合至 Web 服務或桌面軟體等大型應用程式之前,先學習如何處理 WORD 文件生成。

1.開啟 Visual Studio。 在啟動畫面中,請選擇"建立新專案"。

Visual Studio 啟動畫面顯示"建立新專案"按鈕以高亮顯示,用於開始建立新的 C# 控制台應用程式。

  1. 選取"主控台應用程式",然後按一下"下一步"。 若出現多個選項,請選擇 C# 版本。

Visual Studio 中的專案範本選擇視窗顯示控制台應用程式範本選項,並套用了 C# 語言篩選器。

  1. 輸入專案名稱與位置。 點擊"下一步",選擇 .NET 6.0 或更高版本,然後點擊"建立"。

什麼是 IronWord,我為什麼要使用它?

IronWord 是一個 .NET 函式庫,它提供了一個方便的 API,用於在 C# 中處理 Word 文件。 它讓開發人員能夠在 C# 應用程式中建立 WORD 文件、修改現有文件,並將其匯出。 使用 IronWord,您可以根據來自各種來源(例如資料庫、API 或使用者輸入)的資料動態產生 Word 文件。 此函式庫處理所有複雜的底層 Office Open XML 規格,讓您能專注於業務邏輯,而非文件格式的繁瑣細節。

IronWord 在 WORD 文件處理方面具備多項優勢。 與某些需在伺服器或開發機器上安裝 Microsoft Office 的替代方案不同,IronWord 具備獨立運作能力,使其成為雲端部署、容器化應用程式,以及無法安裝 Office 環境中的理想選擇。 此函式庫支援多種文件元素,包括段落、表格、圖片、頁首、頁尾、樣式及格式選項,讓您能完全掌控文件的外觀與結構。

如何在我的專案中安裝 IronWord?

您可以使用 NuGet 套件管理器依照下列步驟輕鬆安裝 IronWord。 NuGet 是 .NET 的標準套件管理系統,能讓函式庫的安裝與版本管理變得簡單且可靠。

  1. 在 Visual Studio 中,開啟 NuGet 套件管理器窗口,然後前往"瀏覽"標籤。
  2. 在"瀏覽"索引標籤中,於搜尋列輸入 IronWord 並按下 Enter 鍵。
  3. 將顯示包裹清單。 選擇最新的套件並點擊"安裝"。

Visual Studio 中的 NuGet 套件管理器視窗顯示 IronWord 套件搜尋結果,其中"安裝"按鈕可見

安裝完成後,IronWord 即可立即使用。 安裝程序會自動處理所有依賴項,並適當設定您的專案參照。

如何使用 IronWord 將資料匯出至 WORD 文件?

讓我們先透過一個實用範例,說明如何使用 C# 中的 IronWord 將資料匯出至 WORD 文件。 請參考以下程式碼片段,其中展示了建立簡單 WORD 文件的基本流程:

using IronWord;
using IronWord.Models;

System.Console.WriteLine("Enter the Text to export it to word document");
var userInput = System.Console.ReadLine();

// Create textRun which is a part of a paragraph content
Text textRun = new Text(userInput);
Paragraph paragraph = new Paragraph();
paragraph.AddChild(textRun);

// Create a new document object and add the paragraph to it
WordDocument doc = new WordDocument(paragraph);

// Export document to "document.docx" file
doc.SaveAs("document.docx");
using IronWord;
using IronWord.Models;

System.Console.WriteLine("Enter the Text to export it to word document");
var userInput = System.Console.ReadLine();

// Create textRun which is a part of a paragraph content
Text textRun = new Text(userInput);
Paragraph paragraph = new Paragraph();
paragraph.AddChild(textRun);

// Create a new document object and add the paragraph to it
WordDocument doc = new WordDocument(paragraph);

// Export document to "document.docx" file
doc.SaveAs("document.docx");
Imports IronWord
Imports IronWord.Models

System.Console.WriteLine("Enter the Text to export it to word document")
Dim userInput = System.Console.ReadLine()

' Create textRun which is a part of a paragraph content
Dim textRun As New Text(userInput)
Dim paragraph As New Paragraph()
paragraph.AddChild(textRun)

' Create a new document object and add the paragraph to it
Dim doc As New WordDocument(paragraph)

' Export document to "document.docx" file
doc.SaveAs("document.docx")
$vbLabelText   $csharpLabel

在這個例子中,我們將建立一個簡單的 Word 文檔,其中包含一個段落,內容為使用者提供的文字。 讓我們一步一步地分析程式碼: 1.導入所需庫:我們先從 IronWord 導入必要的命名空間。 IronWord 命名空間包含主要文件類,而 IronWord.Models 提供內容模型類。 2.建立文字內容:我們建立一個 Text 對象,表示我們要包含在 Word 文件中的文字內容。 在這種情況下,它是從控制台收集到的 userInput。 3.建立段落:接下來,我們建立一個 Paragraph 對象,並將 Text 物件 (textRun) 作為子元素加入到該物件中。 WORD 中的段落通常包含一個或多個文字區塊,允許在同一段落內混合使用不同格式。 4.建立 Word 文件:我們實例化一個新的 WordDocument 對象,並將我們創建的段落作為參數傳遞。 這將使用指定的內容建立一個新的 Word 文件。 5.匯出文件:最後,我們呼叫 SaveAs 方法,將 WordDocument 物件匯出為名為"document.docx"的 .docx 檔案。預設情況下,該檔案會保存在應用程式的工作目錄中。

本範例示範了使用 IronWord 將資料匯出到 Word 文件的基本工作流程。 您可以根據具體需求,自訂現有 WORD 文件的內容與結構。 例如,您可以新增多個段落、設定文字格式、插入表格、圖像、頁首、頁尾等等。

主控台輸出看起來是什麼樣子?

控制台應用程式視窗顯示使用者文字輸入提示,並顯示正在處理以匯出 Word 文件的已輸入文字。

生成的 WORD 文件會是什麼樣子?

Microsoft Word 文件視窗顯示產生的 DOCX 文件,匯出的文字內容顯示在文件正文中。

如何在 WORD 文件中加入更複雜的內容?

雖然基本範例僅展示簡單的文字匯出功能,但 IronWord 支援更為複雜的文件建立功能。 以下範例展示如何加入包含多個段落及樣式的格式化文字:

using IronWord;
using IronWord.Models;

// Create a document with multiple formatted paragraphs
WordDocument doc = new WordDocument();

// Add a title paragraph with bold formatting
Paragraph titleParagraph = new Paragraph();
Text titleText = new Text("Sales Report Q4 2024");
titleText.Style = new TextStyle() { Bold = true, FontSize = 24 };
titleParagraph.AddChild(titleText);
doc.AddChild(titleParagraph);

// Add a regular paragraph with mixed formatting
Paragraph contentParagraph = new Paragraph();
Text normalText = new Text("Total revenue for Q4 was ");
Text emphasizedText = new Text("$1.2 million");
emphasizedText.Style = new TextStyle() { Bold = true, Italic = true };
Text endText = new Text(", exceeding projections by 15%.");

contentParagraph.AddChild(normalText);
contentParagraph.AddChild(emphasizedText);
contentParagraph.AddChild(endText);
doc.AddChild(contentParagraph);

// Save the formatted document
doc.SaveAs("quarterly_report.docx");
using IronWord;
using IronWord.Models;

// Create a document with multiple formatted paragraphs
WordDocument doc = new WordDocument();

// Add a title paragraph with bold formatting
Paragraph titleParagraph = new Paragraph();
Text titleText = new Text("Sales Report Q4 2024");
titleText.Style = new TextStyle() { Bold = true, FontSize = 24 };
titleParagraph.AddChild(titleText);
doc.AddChild(titleParagraph);

// Add a regular paragraph with mixed formatting
Paragraph contentParagraph = new Paragraph();
Text normalText = new Text("Total revenue for Q4 was ");
Text emphasizedText = new Text("$1.2 million");
emphasizedText.Style = new TextStyle() { Bold = true, Italic = true };
Text endText = new Text(", exceeding projections by 15%.");

contentParagraph.AddChild(normalText);
contentParagraph.AddChild(emphasizedText);
contentParagraph.AddChild(endText);
doc.AddChild(contentParagraph);

// Save the formatted document
doc.SaveAs("quarterly_report.docx");
Imports IronWord
Imports IronWord.Models

' Create a document with multiple formatted paragraphs
Dim doc As New WordDocument()

' Add a title paragraph with bold formatting
Dim titleParagraph As New Paragraph()
Dim titleText As New Text("Sales Report Q4 2024")
titleText.Style = New TextStyle() With {.Bold = True, .FontSize = 24}
titleParagraph.AddChild(titleText)
doc.AddChild(titleParagraph)

' Add a regular paragraph with mixed formatting
Dim contentParagraph As New Paragraph()
Dim normalText As New Text("Total revenue for Q4 was ")
Dim emphasizedText As New Text("$1.2 million")
emphasizedText.Style = New TextStyle() With {.Bold = True, .Italic = True}
Dim endText As New Text(", exceeding projections by 15%.")

contentParagraph.AddChild(normalText)
contentParagraph.AddChild(emphasizedText)
contentParagraph.AddChild(endText)
doc.AddChild(contentParagraph)

' Save the formatted document
doc.SaveAs("quarterly_report.docx")
$vbLabelText   $csharpLabel

此範例說明如何建立具有多種格式設定的文件,讓您匯出的文件更顯 Professional 且視覺上更具吸引力。 TextStyle 類別提供了用於控製字體系列、大小、顏色、粗體、斜體、底線和其他文字屬性的屬性。

程式化 WORD 文件匯出的常見應用情境有哪些?

了解實際應用案例,有助於具體想像 WORD 文件匯出功能如何為您的專案帶來效益。 以下是程式化文件生成發揮重要作用的幾個常見情境:

發票與收據生成:從計費系統自動生成包含標題、表格及付款條款的Professional發票。

報告自動化:自動生成定期財務摘要、績效指標或合規文件。

郵件合併操作:透過將資料庫記錄合併至範本中,建立個人化的合約、信函或證書。

文件生成系統:將原始碼註解或資料庫結構轉譯為格式化的技術文件。

表單處理:將網頁表單或問卷回覆轉換為格式化的 WORD 文件,供利害關係人審閱。

關鍵要點是什麼?

總而言之,IronWord 提供了一套完整的解決方案,可讓開發者透過 C# 將資料匯出至 WORD 文件。 無論您是要生成簡單的報表、複雜的文件,還是動態內容,IronWord 都能簡化流程,讓開發人員能夠透過程式化方式建立高品質的 WORD 文件。 透過運用其功能與特性,您可以簡化文件生成工作流程,並向使用者提供專業的文件。

該函式庫無需依賴 Microsoft Office 安裝,加上其完整的 API 和穩健的效能,使其成為小型應用程式與 Enterprise 級文件處理系統的理想選擇。 隨著您持續探索 IronWord 的功能,您將發現多種方法來優化文件生成流程,並為使用者的文件需求提供更完善的解決方案。

若要了解更多自動產生 Microsoft Word 文件的技巧,請造訪以下連結

常見問題解答

我如何在 C# 中匯出資料到 Word 文件?

您可以使用 IronWord 在 C# 中匯出資料到 Word 文件,方法是創建 C# 控制台應用程序,通過 NuGet 套件管理器安裝 IronWord,導入必要的庫,並使用 API 來創建和保存包含您數據的 Word 文件。

使用 .NET 庫創建 Word 文檔有哪些優勢?

使用像 IronWord 這樣的 .NET 庫來創建 Word 文件,允許開發人員以程式化的方式自動生成高質量的文件,使工作流程更加高效並可適應特定需求,無需依賴 Microsoft Interop。

我如何在 C# 中格式化文本並向 Word 文檔中添加圖片?

使用 IronWord,您可以通過設置字體樣式、大小和顏色來格式化文本,並且可以通過 API 將圖片插入文檔中。這使在 C# 應用程序中可進行豐富的文檔自定義。

IronWord 可以用來進行動態文檔生成嗎?

是的,IronWord 使得動態文檔生成成為可能,允許您根據來自各種來源如數據庫或用戶輸入的信息創建 Word 文檔,這些文檔可以根據特定用戶需求進行定制。

使用 IronWord 創建 Word 文件涉及哪些步驟?

要使用 IronWord 創建 Word 文件,首先創建一個 C# 控制台應用程序,通過 NuGet 安裝 IronWord,導入庫,創建文本和段落對象,並使用 SaveAs 方法匯出文檔。

IronWord 如何簡化 C# 中的 Word 文檔創建?

IronWord 提供了一個直觀的 API,允許開發人員輕鬆地程式化創建、操作和匯出 Word 文件,從而降低了複雜性並提高了生產力。

是否可以在 C# 中從用戶輸入創建 Word 文檔?

是的,使用 IronWord,您可以從用戶輸入創建 Word 文件。通過捕獲輸入內容,創建文本對象,添加到段落中,然後使用 IronWord API 將其匯出為 .docx 文件。

在 C# 中匯出到 Word 時如何排除常見問題?

當使用 IronWord 匯出到 Word 時出現問題時,確保導入了所有必要的庫,經過 NuGet 安裝的是正確版本的庫,並且您的數據類型與正在使用的 API 方法兼容。

程式化生成 Word 文件有哪些實際應用?

使用 IronWord 程式化生成 Word 文件非常適用於創建自動化報告、文件編寫和數據展示文件,尤為適用於處理大型資料集或需頻繁更新的信息。

Jordi Bardia
軟體工程師
Jordi 在 Python、C# 和 C++ 上最得心應手,當他不在 Iron Software 展現技術時,便在做遊戲編程。在分担產品测测试,產品開發和研究的责任時,Jordi 為持续的產品改進增值。他说这种多样化的经验使他受到挑战并保持参与, 而这也是他与 Iron Software 中工作一大乐趣。Jordi 在佛罗里达州迈阿密长大,曾在佛罗里达大学学习计算机科学和统计学。

鋼鐵支援團隊

我們每週 5 天,每天 24 小時在線上。
聊天
電子郵件
打電話給我