如何使用 C# 閱讀 Word 文件
在.NET環境中,處理Word文件是一個常見的需求。 本文提供了三種主要C# Word程式庫的比較:Microsoft Office Interop Word、FileFormat.Words、OfficeIMO和IronWord。
這些程式庫提供了處理Word文件的各種功能,無論您想處理整個文件的一部分或整個文件,包含建立、編輯和將其轉換為不同格式,如能夠將Word轉換為PDF。
Microsoft Office Interop Word

Microsoft Office Interop Word是更廣泛的Microsoft Office自動化套件的一部分,便於直接與Microsoft Word互動。
這個程式庫是需要在.NET應用程式中操作Word文件的開發人員的首選解決方案。 它在直接文件操作方面表現出色,允許存取廣泛的Word文件元素。
這對於格式設定、新增或移除內容以及處理文件屬性等複雜任務尤其有用。
主要功能
Microsoft Office Interop Word的一個突出功能是它執行郵件合併操作的能力。 這對於通過與資料源(如資料庫或電子表格)配對的單一Word模板生成多個文件非常有益。 這個功能在生成個性化信件、標籤或批量電子郵件等場景中至關重要。
另一個顯著優勢是其與Microsoft Office套件的整合。這允許與其他Office應用程式進行無縫互動。
限制
然而,這個程式庫有其限制。 其對Microsoft Word安裝的依賴是一個主要的缺點,限制其在無法提供Microsoft Word的環境中的可用性。
此外,它主要針對.NET Framework量身定制,這可能不適合基於.NET Core或遷移至.NET Core的專案。
FileFormat.Words

FileFormat.Words是一個.NET程式庫,以其Word文件轉換能力而聞名。 它讓應用程式能夠將Word文件轉換為多種格式,如PDF文件、各種影像格式,甚至是HTML,而不需要Microsoft Word。 這個功能對於需要以不同格式呈現或儲存文件的應用程式特別重要。
主要功能
該程式庫處理各種文件格式的能力超越標準的DOCX文件。 它支持其他格式,增加了其在處理多型別Word文件的應用程式中的實用性。
編輯能力是FileFormat.Words的另一個閃光點。 開發者能輕鬆地編輯Word文件,新增或修改文字、格式設定以及文件屬性。 這使得它適用於需要動態文件操作的應用程式。
此外,其與.NET Framework和.NET Core相容,使其成為各種型別.NET應用的靈活選擇。 無論是基於.NET Framework的遺留系統還是基於.NET Core的現代應用,FileFormat.Words都能夠相對輕鬆地進行整合。
限制
儘管有其優勢,FileFormat.Words確實有一些缺點。 其API可以相當複雜,對於不熟悉此程式庫的開發人員來說具有學習曲線。 此外,儘管是開放源碼,某些高級功能可能需要商業授權,這對於某些專案可能是一個考慮因素。
OfficeIMO

OfficeIMO的設計理念是簡單和高效。 這是一個.NET Word程式庫,專注於基本的Word處理需求,是需要簡單Word文件處理而無需使用功能豐富的程式庫的專案的理想選擇。
主要功能
其簡化的API是一大優勢,減少了整合和開發所需的時間和精力。 這種易用性對於不以Word處理為核心功能而是輔助功能的小型專案或應用程式尤其有利。
該程式庫還支持處理受密碼保護的Word文件,這對於處理敏感或機密資訊的應用程式來說非常重要。
此外,其輕量級特性確保不會對托管應用施加顯著的資源需求,這是性能敏感環境中的關鍵因素。
限制
然而,OfficeIMO可能不適合需要進階Word處理功能的應用程式。 其專注於基本功能意味著可能在需要廣泛操作Word文件元素或轉換功能的場景中有所不足。
此外,其對文件格式的支持主要集中在基本的DOCX文件上,這對於處理更廣泛Word文件型別的應用程式來說可能是個限制。
介紹IronWord

IronWord是一個C# Word解決方案,適合希望建立、修改和導出Word和.DOCX文件的開發者。 這個程式庫獨立運行,免除安裝Microsoft Office或Word Interop的需要。 它設計為無縫整合到各種.NET環境中,包括最新版本如.NET 8、7和6,還有Framework、Core和Azure,以保證您的開發需求的相容性和靈活性。 無論您是在處理桌面、網路或雲端應用程式,IronWord都提供了一套可靠且高效的工具,以輕鬆處理您的文件處理任務。
主要功能
IronWord提供了使其脫穎而出的廣泛功能:
-
文字操作: IronWord允許開發者新增和移除
TextRuns,在操作Word文件文字內容時提供靈活性。 -
對齊設定: 它提供設定對齊(左、居中、右和兩端對齊)的選項,讓您精確控制文件內容的佈局。
-
列表管理: IronWord支持新增項目符號和編號列表,這對於以結構化方式組織內容非常有用。
-
表格操作: 它提供新增和移除行和列的功能。 這在處理包含表格的Word文件時特別有用。
-
單元格操作: IronWord提供設置和獲取單元格值以及合併和拆分單元格的能力。 這在處理Word文件中的表格資料時至關重要。
-
格式設定選項: 它支持各種格式設定選項,包括字體家族和大小、顏色、粗體斜體、刪除線、下劃線、上標和下標。 這允許開發者按需設計文件內容。
- 文件處理: IronWord支持與
FileStream一起的操作,在處理Word文件時提供靈活性。
程式碼範例
這是建立.DOCX文件的程式碼範例:
using IronWord;
using IronWord.Models;
// Create a text run containing the text to be added to the document
TextRun textRun = new TextRun("Sample text");
// Create a paragraph and add the text run to it
Paragraph paragraph = new Paragraph();
paragraph.AddTextRun(textRun);
// Create a new Word document and add the paragraph to it
WordDocument doc = new WordDocument(paragraph);
// Save the Word document to a file
doc.SaveAs("document.docx");
using IronWord;
using IronWord.Models;
// Create a text run containing the text to be added to the document
TextRun textRun = new TextRun("Sample text");
// Create a paragraph and add the text run to it
Paragraph paragraph = new Paragraph();
paragraph.AddTextRun(textRun);
// Create a new Word document and add the paragraph to it
WordDocument doc = new WordDocument(paragraph);
// Save the Word document to a file
doc.SaveAs("document.docx");
Imports IronWord
Imports IronWord.Models
' Create a text run containing the text to be added to the document
Private textRun As New TextRun("Sample text")
' Create a paragraph and add the text run to it
Private paragraph As New Paragraph()
paragraph.AddTextRun(textRun)
' Create a new Word document and add the paragraph to it
Dim doc As New WordDocument(paragraph)
' Save the Word document to a file
doc.SaveAs("document.docx")
結論
總結來說,這些.NET Word程式庫——Microsoft Office Interop Word、FileFormat.Words、OfficeIMO和IronWord——可以滿足.NET開發中的不同需求。
Microsoft Office Interop Word對於深入整合在Microsoft Office生態系統中的應用程式是個強有力的選擇。 FileFormat.Words以其廣泛的文件格式支持和強大的轉換功能,對不太複雜的專案是一個不錯的選擇。 OfficeIMO以其使用者友好的API和專注於基本處理,是簡單高效為首要的應用程式的理想選擇。
然而,當涉及到結合強大的功能、靈活性和易用性時,IronWord的表現勝過上述所有程式庫。 其全面的Word文件處理功能,加上能夠在不需要在伺服器上安裝Microsoft Office或Word Interop的情況下無縫運行,讓它成為.NET開發者的一個吸引人的選擇。
IronWord提供免費試用讓開發者探索其功能。 當您準備好將其整合到專案中時,IronWord的授權從$999起,提供對其全面Excel處理功能的完整存取。
常見問題
我如何使用 C# 操作 Word 文件中的文字?
您可以使用 IronWord 操作 Word 文件中的文字。IronWord 提供文字操作的方法,讓您輕鬆新增、修改或刪除文字。
使用 Microsoft Office 互操作 Word 時有哪些常見問題?
Microsoft Office 互操作 Word 的一個常見問題是其依賴於主機上的 Microsoft Word 安裝,限制了無 Microsoft Office 環境中的使用。
您可以在 C# 中將 Word 文件轉換為其他格式嗎?
是的,使用像 FileFormat.Words 這樣的程式庫,您可以將 Word 文件轉換為如 PDF 和 HTML 等多種格式,而無需 Microsoft Word。
有哪個簡單的 C# 程式庫用於基本的 Word 處理?
OfficeIMO 是一個設計用於基本 Word 文件處理的簡化 C# 程式庫,適用於不需要高級功能的專案。
IronWord 如何增強 Word 文件處理?
IronWord 通過提供如文字操作、列表管理、表操作和格式選項等全面功能增強了 Word 文件處理,且不需 Microsoft Office。
有沒有獨立於 Microsoft Office 處理 Word 文件的選擇?
是的,IronWord 允許獨立於 Microsoft Office 處理 Word 文件,提供靈活性和易用性,適用於不同的 .NET 環境。
什麼使 IronWord 成為開發者的多功能選擇?
IronWord 因其強大的功能集合而多功能,包括高級文字和格式選項,並且能在無 Microsoft Office 的情況下運行,適合各種應用。
我可以在購買前試用 IronWord 嗎?
是的,IronWord 提供免費試用,讓開發者可以在購買前探索其功能,了解其如何符合專案需求。



