如何使用 C# 編輯 Word 文件中的文本

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

IronWord 允許直接在 Word 文件中編輯文本,並可存取段落文本。 您可以以程式方式修改現有的 DOCX 內容,並精確控制格式段。

快速入門:在 Word 文件中編輯文字

  1. 安裝 IronWord NuGet 套件
  2. 使用WordDocument doc = new WordDocument("file.docx")載入您的 DOCX 文件
  3. 訪問段落: doc.Paragraphs[0]
  4. 修改文本: doc.Paragraphs[0].Texts[0].Text = "New text"
  5. 儲存文件: doc.SaveAs("edited.docx")

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

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

    PM > Install-Package IronWord

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

    using IronWord;
    
    // Load existing document
    WordDocument doc = new WordDocument("document.docx");
    
    // Edit first paragraph text
    doc.Paragraphs[0].Texts[0].Text = "Updated content";
    
    // Save changes
    doc.SaveAs("updated.docx");
  3. 部署到您的生產環境進行測試

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

如何在Word文檔中編輯文字?

若要編輯 Word 文件中的文本,請載入現有文件並存取目標段落。 該段落公開了一個Texts數組, Texts[0]引用該段落中的第一個文字運行。 文字段是指格式一致的文字部分。 這種方法在保持文件原始結構的同時,也能以程式方式更新特定內容。

如果一個段落包含多種格式樣式,則每個不同的段落都是一個單獨的文字段。

處理商務文件時,您需要在不改變整體格式的情況下更新特定部分。 IronWord 能夠保留文件的版面、樣式和格式,同時允許精確的文字修改。 這對於更新範本文件、個人化格式信函或維護動態報告非常有效。

:path=/static-assets/word/content-code-examples/how-to/edit-text-simple.cs
using IronWord;

// Load a DOCX document
WordDocument doc = new WordDocument("raw_document.docx");

// Edit existing text on the first paragraph
doc.Paragraphs[0].Texts[0].Text = "First paragraph is updated successfully";

// Export docx
doc.SaveAs("edited_document.docx");
$vbLabelText   $csharpLabel

上面的程式碼示範了文字編輯的基本方法。 載入文件時,IronWord 會將其結構解析為物件層次結構。 每個段落包含一個或多個文字片段,這些片段可以獨立存取和修改。 這種精細的控制確保格式在內容變更時保持不變。

編輯前的文檔是什麼樣子的?

Word 文件中顯示了兩個 Lorem ipsum 段落,分別以紅色和紫色斜體顯示,格式標籤可見。

文字修改後會發生哪些變化?

Word 文件顯示了修改後的文本,其中包含多個不同顏色的段落。

上圖所示的轉換說明了 IronWord 如何在文字編輯過程中保持文件完整性。 請注意,格式(包括顏色和樣式)保持不變,只有文字內容會改變。 保持格式對於在商業應用中維護專業文件標準至關重要。

如何編輯特定文字?

當一個段落包含多個格式不同的文字行時,可以使用陣列索引來定位特定的文字行。 文字運行採用從零開始的索引,其中Texts[0]是第一次運行, Texts[1]是第二次運行,依此類推。 在這個例子中,我們使用Paragraphs[3].Texts[1]來定位第四段的第二個文字。

了解文字結構對於精確編輯文件至關重要。 如果一個段落包含以下內容,則該段落可能包含多個文字片段:

  • 不同的字體樣式(粗體、斜體、底線)
  • 各種字體大小或顏色
  • 同一段落內存在混合格式
  • 超連結或特殊字符
:path=/static-assets/word/content-code-examples/how-to/edit-text-text-run.cs
using IronWord;

// Load the document
WordDocument doc = new WordDocument("text_document.docx");

// Edit second text run in the 4th paragraph
doc.Paragraphs[3].Texts[1].Text = "Edited the textrun successfully within the same paragraph";

// Save to the same file
doc.SaveAs("text_document.docx");
$vbLabelText   $csharpLabel

這種方法在更新文件時能夠提供精準的指導。 例如,如果一段文字中只有某些單字加粗或顏色不同,則每次格式變更都會建立一個新的文字段。 透過針對特定運行進行操作,您可以只更新所需的內容,而不會影響周圍的文字或格式。

為什麼文字行數對格式很重要?

Word 文件顯示了三個文字段落,分別以紅色、紫色和藍色格式顯示,文字運行修改前的內容。

文字行是 Word 格式系統的基礎。 每次運行都會維護自己的一組屬性,包括字體系列、大小、顏色和樣式屬性。 編輯特定文字段時,這些屬性將保持不變,確保您的文件保持其專業外觀。 在使用企業模板或品牌文件時,這一點尤其重要,因為在這些情況下,格式的一致性是必須的。

當我指定要執行的文字時會發生什麼?

Word文件中,編輯後的文字以藍色高亮顯示,紅色箭頭標示了修改部分。

視覺回饋會準確地顯示哪個文字行被修改了。 這種精確編輯功能對於需要以下功能的應用程式來說非常重要:

  • 更新表單範本中的特定字段
  • 修改合約文件中的變數
  • 更改行銷資料中的佔位符
  • 在保持格式不變的情況下更新報告中的資料點

文字編輯最佳實踐

在應用程式中實現文字編輯功能時,請考慮以下最佳實踐:

錯誤處理:在嘗試修改段落和文字之前,務必先驗證它們是否存在。 使用邊界檢查來防止索引超出範圍異常:

if (doc.Paragraphs.Count > 0 && doc.Paragraphs[0].Texts.Count > 0)
{
    doc.Paragraphs[0].Texts[0].Text = "Safe update";
}
if (doc.Paragraphs.Count > 0 && doc.Paragraphs[0].Texts.Count > 0)
{
    doc.Paragraphs[0].Texts[0].Text = "Safe update";
}
$vbLabelText   $csharpLabel

保留格式:請記住,每段文字都有自己的格式。 如果您需要保持編輯文字的格式一致,則可能需要適當地合併或分割文字區段。

效能注意事項:編輯多個文字元素時,載入一次文檔,進行所有必要的更改,最後儲存一次。 這種方法可以最大限度地減少 I/O 操作,提高效能。

文件備份:在進行大量修改之前,請考慮建立原始文件的備份副本。 這種做法可以確保資料安全,並在需要時提供回滾選項。

透過遵循這些指導原則並了解文字運作結構,您可以建立強大的文件編輯解決方案,在保持專業品質的同時,有效率地自動更新內容。

常見問題解答

如何使用 C# 編輯現有 Word 文件中的文字?

使用 IronWord,您可以使用 WordDocument 載入 DOCX 檔案,透過 doc.Paragraphs[index] 存取目標段落,並透過 Texts 陣列修改文字,從而編輯文字。例如:doc.Partsagraph[0].Texts[0].Text = "New text"。IronWord 在更新內容時,會保留原始格式。

什麼是 Word 文件中的文字運行?

文本流是段落中具有一致格式的文本片段。IronWord 會將這些區段當成 Texts 陣列中的元素,讓您可以獨立修改特定的格式化區段。如果段落包含多種格式樣式,每個不同的段落都會成為獨立的文字運行。

編輯文字會影響文件的格式嗎?

不會,IronWord 會在您編輯文字時保留文件的版面、樣式與格式。該函式庫可在修改過程中維護文件的完整性,確保顏色、字型和其他格式保持一致,而只有文字內容發生變化。

我可以程式化地更新範本文件嗎?

是的,IronWord 是更新範本文件、個人化表格信件或維護動態報表的理想選擇。您可以載入現有的 DOCX 模版,並以程式化的方式修改特定的文字部分,同時保留整體的文件結構與格式。

編輯 Word 文件後,如何儲存變更內容?

使用 IronWord 進行文字修改後,請使用 SaveAs 方法儲存您的修改。例如:doc.SaveAs("updated.docx")。這會建立一個包含您編輯內容的新檔案,同時保持文件的原始格式和結構。

艾哈邁德·索海爾
全端開發工程師

Ahmad 是一位全端開發人員,精通 C#、Python 和 Web 技術。他對建立可擴展的軟體解決方案有著濃厚的興趣,並樂於探索如何在實際應用中實現設計與功能的完美結合。

在加入 Iron Software 團隊之前,Ahmad 曾從事自動化專案和 API 整合工作,專注於提高效能和開發者體驗。

在空閒時間,他喜歡嘗試 UI/UX 設計理念,為開源工具做出貢獻,偶爾還會涉足技術寫作和文件編寫,使複雜的主題更容易理解。

準備好開始了嗎?
Nuget 下載 29,594 | 版本: 2025.12 剛剛發布