使用IRONWORD

如何使用C#操作Word文件

發佈 2023年12月24日
分享:

介紹

微軟創建了Word作為文字處理器。 最初以 Multi-Tool Word 的名稱在 Xenix 系統上推出,它於 1983 年 10 月 25 日問世。隨後的版本開發了適用於多種操作系統,例如 SCO Unix。(1990),Microsoft Windows(1989)雅達利ST(1988),OS/2(1989), AT&T UNIX PC(1985)IBM 個人電腦運行 DOS(1983)Apple Macintosh 運行經典 macOS(1985),macOS(2001), 網頁瀏覽器(2010)iOS(2014)和 Android(2015). Wine 可以在 Linux 上運行舊版本的 Microsoft Word。

商用版本的 IronWord 可以作為獨立應用程式或作為組件進行授權。Microsoft 365,這可以作為永久許可證購買,或作為 Microsoft 365 訂閱的一部分購買。 在本文中,我們將使用 C# 和 Microsoft Interop 程式集操作 Word 文檔,並探討 IronXL 如何幫助我們編輯 Excel 文檔。

如何使用 C# 操作 Word 文件

  1. 建立一個全新的 Visual Studio 專案任務。

  2. 設置必要的庫以讀取 Word 文件。

  3. 若要操作 Word 文件,請載入現有文件或建立新文件。

  4. 編輯文件資料並解析文件。

  5. 清除所有已創建的對象。

什麼是 Microsoft Interop

用 C# 或 VB.NET 撰寫的程式可以建立或開啟 Word 文件。(DOC、DOCX 和 RTF)與 Office互操作性適用於 Microsoft Word。 然而,在專案中使用時有很多缺點。

我們將討論您在使用 Microsoft Office Interop 時可能遇到的常見問題。(文件自動化)從 C# 或 VB.NET 在本文中。

例如:

  • 每台需要進行文字自動化的客戶電腦都需獲得 Microsoft Word 的授權。
  • 在每位客戶的電腦上,必須安裝相同版本的 Microsoft Word。
  • 當使用自動化時,Word會使用幾兆字節的記憶體以在背景中載入不同的檔案和DLL。
  • Microsoft Word API 可透過 COM 物件存取。 從受管理代碼調用 COM 物件時,可能會出現問題,例如類型轉換、需要 COM 包裝器以及 .NET Framework 整合不佳。

在 Visual Studio 中建立新專案

在使用 Interop 庫之前,有必要啟動 Visual Studio 並創建一個 .NET 項目。 Visual Studio 與任何版本兼容,但建議使用最新版本。 根據您的需求,您可以開發專案模板或類似 Windows Forms 的應用程式。 在這種情況下,為了簡單起見,我將使用主控台應用程式。

如何使用 C# 操作 Word 文件:圖 1 - 建立新的 Visual Studio 專案

配置專案詳細資料

接下來,提供專案的位置和名稱。

如何使用 C# 操作 Word 文件:圖 2 - 配置新的 VS 項目

使用 .NET Framework 創建新專案文件

使用框架下拉選單,您可以選擇一個.NET框架. 此專案將使用 .NET Framework 4.7。 接下來的操作是按下「Create」按鈕。

在應用程式生成解決方案後,您可以通過訪問 Program.cs 文件輸入代碼並構建或運行程序。

如何使用 C# 操作 Word 文件:圖 3 - 新的 .NET 項目 .cs 文件

現在已經添加了 Microsoft.Office.Interop.Word 庫,我們可以測試代碼。

安裝互操作庫

下一次修復需要安裝Interop庫。 在 NuGet 套件管理器主控台中輸入以下命令以完成此操作:

:InstallCmd: Install-Package Microsoft.Office.Interop.Word

如何使用C#操作Word文檔:圖4 - 要安裝IronXL庫,您可以使用套件管理器控制台並輸入以下命令:Install-Package IronXL.Excel

另一種找到「Interop」套件的方法是使用 NuGet 套件管理器。 在所有與 Interop 相關的 NuGet 套件中,我們可以從此清單中選擇所需的套件以下載。

如何使用 C# 操作 Word 文件:圖 5 - 選擇 `Microsoft.Office.Interop.Word` 庫

安裝所有必要的庫後,您即可開始編輯 DOCX 文件。

使用 Interop 操作現有的 Word 文件

要使用 Microsoft Word,您必須先建立一個 Microsoft.Office.Interop.Word.Application 的實例。 Word文件的傳遞會在這種情況下發生。 下一步是使用我們剛創建的 Microsoft.Office.Interop.Word.Application 實例的 Documents 屬性來創建一個新的 Word 文件實例。 如下所示的 C# 代碼片段中,這使我們能夠以程式方式操作 Word 文件。

using System;
using System.Data;
using Microsoft.Office.Interop.Word;
try
{
    var WordApp = new Microsoft.Office.Interop.Word.Application();
    var WordDoc = WordApp.Documents.Open(@"d:/Demo.docx");
    WordDoc.Paragraphs [1].Range.Text = "New text here...";
    WordDoc.SaveAs(@"d:/NewDemo.docx");
    WordDoc.Close();
    WordApp.Quit();
}
catch (Exception ex)
{
    Console.WriteLine(ex.ToString());
}
using System;
using System.Data;
using Microsoft.Office.Interop.Word;
try
{
    var WordApp = new Microsoft.Office.Interop.Word.Application();
    var WordDoc = WordApp.Documents.Open(@"d:/Demo.docx");
    WordDoc.Paragraphs [1].Range.Text = "New text here...";
    WordDoc.SaveAs(@"d:/NewDemo.docx");
    WordDoc.Close();
    WordApp.Quit();
}
catch (Exception ex)
{
    Console.WriteLine(ex.ToString());
}
Imports System
Imports System.Data
Imports Microsoft.Office.Interop.Word
Try
	Dim WordApp = New Microsoft.Office.Interop.Word.Application()
	Dim WordDoc = WordApp.Documents.Open("d:/Demo.docx")
	WordDoc.Paragraphs (1).Range.Text = "New text here..."
	WordDoc.SaveAs("d:/NewDemo.docx")
	WordDoc.Close()
	WordApp.Quit()
Catch ex As Exception
	Console.WriteLine(ex.ToString())
End Try
VB   C#

在上述程式碼中,我們能夠在 C# 中編輯 Word 文件。 首先,我們正在為Interop使用的文字處理器創建一個項目對象。 藉由幫助所創建的物件,其具有一個可以讓我們傳遞現有 Word 檔案名稱的開放方法。 它幫助我們將文件轉換為文檔對象。

透過使用文件物件,我們可以獲取與現有 Word 文件相關的所有可用程序。 然後使用段落物件,我們可以獲取 DOCX 文件中所有可用的內容。 使用陣列,我們可以透過將特定段落傳入陣列來替換每一段的文字。 然後,我們可以將它們儲存為新的 MS Word 文件,作為 DOCX 檔案。我們也可以使用 Interop 來建立 Word 文件。

IronXL 庫替代 Interop

IronXL是一種可用於 .NET 程式中處理 Excel 文件的替代 Microsoft Interop 的方案。 雖然 Microsoft Interop 需要通過 Interop 程式集與 Excel 交互,但 IronXL 提供了一種更簡單、高效且強大的方法,用於在 .NET 環境中以程式方式操作 Excel 文件。

使用 IronXL 代替 Microsoft Interop 有以下幾個優點,如:

  • 性能和資源效率:與依賴於計算機上安裝的 Excel 應用程序的 Microsoft Interop 相比,IronXL 的性能更佳且使用的資源更少,因為它不依賴於 Excel 應用程序。
  • 易用性和簡便性:IronXL 提供了一個更易用的 API,簡化了 Excel 文件的讀取、寫入和操作,無需面對 Microsoft Interop 帶來的複雜性。
  • 相容性和相依性:IronXL 透過不需要在電腦上安裝 Microsoft Excel,消除了與各版本 Excel 或 Office 可能發生的相依性和相容性問題。
  • 平台獨立性:與可能更密切關聯於特定 Microsoft Office 版本的 Microsoft Interop 不同,IronXL 提供更大的靈活性和便捷性,能夠在各種環境和平台上部署。

    對於必須以程式方式操作 Excel 文件的 .NET 開發者而言,IronXL 經常是一個更好的選擇,因為它易於使用、速度快,且對第三方軟體安裝的依賴較少。 在 IronXL 和 Microsoft Interop 之間做出決定,可能會受到專案細節、現有基礎設施,以及使用者對每個函式庫的熟悉程度影響。

    在選擇這些選項時,請始終考慮應用程式的需求。 查看此訪問連結了解更多有關IronXL庫的資訊。

安裝 IronXL 函式庫

由於即將推出的補丁需要 IronXL 庫,請安裝它。 要完成此操作,打開 NuGet 套件管理器控制台並輸入以下命令:

Install-Package IronWord

如何使用C#操作Word文件:圖6 - 使用控制台命令安裝IronXL

透過 NuGet 套件管理器搜尋套件 "IronXL" 是另一種選擇。我們可以從這個所有與 IronXL 相關的 NuGet 套件列表中選擇我們需要下載的套件。

如何使用 C# 操作 Word 文件:圖 7 - 通過瀏覽安裝 `IronXL.Excel` 套件

使用 IronXL 編輯 Excel 文件

只需幾行程式碼即可將資料匯出至 .XLSX 或 .XLS 格式。 以下的原始碼示例展示了如何將資料從 Excel 文件匯出到簡單的表格格式中:

var workbook = IronXL.WorkBook.LoadExcel("Demo file.xlsx");
WorkSheet ws = workbook.GetWorkSheet("Sheet1");
string address_val = ws ["A1"].ToString();
console.writeline(address_val);
ws ["A2"].Value = "Hello World";
workbook.SaveAs("export.xlsx");
//or
workbook.SaveAs("export.xls");
//or
workbook.WorkSheets [0].SaveAs("export.xls");
var workbook = IronXL.WorkBook.LoadExcel("Demo file.xlsx");
WorkSheet ws = workbook.GetWorkSheet("Sheet1");
string address_val = ws ["A1"].ToString();
console.writeline(address_val);
ws ["A2"].Value = "Hello World";
workbook.SaveAs("export.xlsx");
//or
workbook.SaveAs("export.xls");
//or
workbook.WorkSheets [0].SaveAs("export.xls");
Dim workbook = IronXL.WorkBook.LoadExcel("Demo file.xlsx")
Dim ws As WorkSheet = workbook.GetWorkSheet("Sheet1")
Dim address_val As String = ws ("A1").ToString()
console.writeline(address_val)
ws ("A2").Value = "Hello World"
workbook.SaveAs("export.xlsx")
'or
workbook.SaveAs("export.xls")
'or
workbook.WorkSheets (0).SaveAs("export.xls")
VB   C#

前面的範例通過呼叫 LoadExcel 函數載入已存在的 Excel 檔案,該函數需要檔案路徑和名稱作為參數。 將檔案導入Workbook物件的操作已完成。 接下來使用 GetWorkSheet 來載入 Excel 工作表,它允許我們使用工作表名稱來載入工作表。 然後使用 Excel 位址讀取該值。 要了解更多有關讀取 Excel 文件的資訊,請點擊這裡.

我們可以使用相同的 Excel 網址來更改 Excel 表格中的值。 可以利用 'Workbook' 物件提供的 SaveAs 函數將 Excel 文件儲存為 XLSX 或 XLS 檔案。 使用此過程,整個文件將以選擇的格式保存。

如何使用 C# 操作 Word 文件:圖 8 - 控制台輸出

此外,我們可以透過使用其索引值或參照名稱來選擇特定的 Excel 工作表。 接下來,我們可以使用 SaveAs 選項將 Excel 試算表中的數據匯出到不同的文件。 按一下此 連結了解更多有關格式化和匯出 Excel 文件的資訊。

結論

對於 Excel 而言,IronXL 是最受歡迎的附加元件之一。 它不依赖于任何其他外部库。 不需要安裝 Microsoft Excel,因為它是自包含的。 它通過多個渠道運作。 這與Interop庫形成對比,後者必須使用額外的庫來解析文件以編輯Word文件。

IronXL 是一個適用於任何使用 Microsoft Excel 文件的程式開發過程的完整解決方案。 計算、排序字串或數字、修剪、添加、查找和替換、合併和拆分以及檔案儲存只是眾多可用操作中的一部分。 不僅可以驗證試算表數據,還可以構建新形式的單元格數據。 它有助於讀取和寫入文件以及處理 Excel 數據。

當 IronXL 首次發布時,其價格為 $749。 或者,客戶可以選擇支付一年訂閱費以獲得軟體更新和支援。 IronXL 提供防止未經授權重新分發的安全性,但需支付費用。 前往 IronXL 許可證页頁面. 要了解更多有關 Iron Software 產品的信息,請查看這裡.

< 上一頁
如何使用 C# 讀取 Word 檔案
下一個 >
如何在 C# 中建立 Word 文件

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

免費 NuGet 下載 總下載次數: 7,878 查看許可證 >