如何使用 C# 取代 Word 文件中的文本

This article was translated from English: Does it need improvement?
Translated
View the article in English

無論您是需要個人化範本、更新報告還是大量管理內容,在 Word 文件中自動替換文字都是常見需求。 IronWord 是一個 C# 函式庫,旨在讓這項任務變得簡單且有效率。

IronWord 的一個關鍵優勢在於它可以直接操作 Word 文檔,而無需依賴 Microsoft Office Interop。這意味著您無需在伺服器上安裝 Word,從而為後端流程和 Web 應用程式提供更快、更可靠且更具可擴展性的解決方案。

在本操作指南中,我們將透過程式碼範例向您展示如何輕鬆地在任何 Word 文件中尋找和取代文字。

快速入門:輕鬆替換 Word 文件中的文字

本快速指南示範如何使用 IronWord 快速取代 Word 文件中的文字。 只需幾行 C# 程式碼,即可載入 DOCX 文件,取代指定文本,並儲存更新後的文件。 這種高效的流程確保開發人員無需 Microsoft Office Interop 即可增強文件自動化,使其成為後端流程和 Web 應用程式的理想選擇。

Nuget Icon立即開始使用 NuGet 建立 PDF 檔案:

  1. 使用 NuGet 套件管理器安裝 IronWord

    PM > Install-Package IronWord

  2. 複製並運行這段程式碼。

    IronWord.Document doc = new IronWord.Document("sample.docx");
    doc.ReplaceText("oldText", "newText");
    doc.SaveAs("updated.docx");
  3. 部署到您的生產環境進行測試

    立即開始在您的專案中使用 IronWord,免費試用!
    arrow pointer

替換文字範例

使用 IronWord 取代 Word 文件中的文字非常直觀。 首先,我們載入一個現有文檔。 然後,我們透過Paragraphs存取段落集合,並對特定段落使用 ReplaceText 方法。

ReplaceText方法接受兩個字串參數:要尋找的文字和要替換為的文字。

ReplaceText方法區分大小寫,並將所選段落中所有出現的字串替換為匹配項。

本範例中使用的所有物件清單均採用從零開始的索引。

輸入

在這個範例中,我們將使用這個包含兩個段落的範例 Word 文檔,這兩個段落的文字都是"舊文字"。

範例 Docx

程式碼

下面的程式碼將把"舊文字"的第一段替換為"新文字"。

:path=/static-assets/word/content-code-examples/how-to/replace-words.cs
using IronWord;

// Open existing Word
WordDocument doc = new WordDocument("sample.docx");

// Replace the first paragraph's old text with new text
doc.Paragraphs[0].ReplaceText("old text", "new text");

// Save updated Word Document
doc.SaveAs("updated.docx");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

輸出

輸出 Docx 文件

輸出檔可以看到,只有第一段的文字被更改了,而第二段的文字保持不變。

替換多個文本

若要取代整個文件中出現的每一個單字,請遍歷Paragraphs集合,並對每個 Paragraphs 集合套用ReplaceText方法。

我們將繼續使用先前的範例檔案 sample.docx。 如果在段落中找不到要替換的文本,則不執行任何操作,循環繼續到下一個段落。

如果找不到要替換的文本,則不會執行任何操作。

程式碼

下面的程式碼將把"舊文字"的第一段替換為"新文字"。

:path=/static-assets/word/content-code-examples/how-to/replace-words-multiple.cs
using IronWord;

// Open existing Word
WordDocument doc = new WordDocument("sample.docx");

// Loop through each paragraph to find and replace text
for (int i = 0; i < doc.Paragraphs.Count; i++)
{
    // Replace all occurrences of "old text" with "new text" in the current paragraph
    doc.Paragraphs[i].ReplaceText("old text", "new text");
}

// Save updated Word Document
doc.SaveAs("updated.docx");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

輸出

輸出多個 Docx 文件

從這份更新後的 Word 文件中可以看到,這兩個段落都被替換成了"新文字"一詞。

尋找文本

如果在執行操作之前需要驗證文字是否存在,可以使用FindText方法。 此方法會搜尋整個文檔,並傳回第一個與搜尋查詢相符的TextElement

以下舉例說明如何在上面提到的 Word 文件中搜尋舊文字。

程式碼

:path=/static-assets/word/content-code-examples/how-to/replace-words-find-text.cs
using IronWord;
using System;

// Open existing Word
WordDocument doc = new WordDocument("sample.docx");

// Returns the first TextContent element that contains the specified text.
Console.WriteLine(doc.FindText("old text"));
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

輸出

尋找文字輸出

如您所見,它返回了匹配的文本。

警告 如果FindText沒有傳回任何內容,表示該文字在文件中不存在。 請確保搜尋字詞拼字正確,並且大小寫與文件中的文字一致。

常見問題解答

IronWord 有何用途?

IronWord 是一個 C# 函式庫,用於自動化 Word 文檔中的文字替換。它簡化了如個性化模板、更新報告和批量管理內容等任務。

我需要安裝 Microsoft Word 才能使用 IronWord 嗎?

不,IronWord 不依賴 Microsoft Office Interop,因此您不需要在您的服務器上安裝 Word。這使它成為一個更快速和可擴展的 Word 文檔處理解決方案。

如何使用 IronWord 替換 Word 文檔中的文字?

要使用 IronWord 替換 Word 文檔中的文字,請加載文檔,訪問段落,然後使用 ReplaceText 方法用新文本替換舊文本。

IronWord 中的 ReplaceText 方法是否區分大小寫?

是的,IronWord 中的 ReplaceText 方法是區分大小寫的,將替換所選段落中指定字符串的所有實例。

我可以使用 IronWord 在整個文檔中替換文字嗎?

可以,您可以通過循環遍歷 Paragraphs 集合並將 ReplaceText 方法應用於每個段落來替換整個文檔中的文字。

如果要替換的文字在段落中找不到會怎麼樣?

如果在段落中找不到該文字,則不會執行任何操作,循環將繼續至下一段落。

如何使用 IronWord 驗證特定文本是否存在於文檔中?

您可以使用 FindText 方法搜索整個文檔,並返回匹配搜索查詢的第一個 TextElement。

如果 FindText 返回空白,我該怎麼辦?

如果 FindText 返回空白,這意味著該文本在文檔中不存在。請確保您的搜索詞拼寫正確並且與文檔中的文本大小寫匹配。

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。

準備好開始了嗎?
Nuget 下載 27,129 | Version: 2025.11 剛發表