如何在 C# 中將文本轉換為 Word 以及將 Word 轉換為文本

在現代軟件開發中,處理文檔內容是一個非常常見的需求。無論是生成報告、存儲日志,還是處理用戶輸入,開發者都可能需要在純文本與 Word 文檔之間進行轉換

  • 有時需要將文本轉換為 Word,以便生成結構化的 .docx 文件,使內容更易于閱讀、打印或分享。
  • 有時需要將 Word 文檔轉換為文本,以便進行內容分析、搜索索引或數據處理。

通過掌握這兩種轉換方法,開發者可以更高效地處理各種文檔場景,提高應用程序的靈活性。

本文將介紹如何使用 Free Spire.Doc for .NET 在 C# 中完成以下操作:

  • 將文本字符串轉換為 Word 文檔
  • 將文本文件轉換為 Word 文檔
  • 將 Word 文檔轉換為文本文件

前提條件

  • 開發環境:Visual Studio 或任意 C# IDE
  • :Free Spire.Doc for .NET

可以通過 NuGet 安裝 Free Spire.Doc:

Install-Package?FreeSpire.Doc

提示:Free Spire.Doc 適合基本文檔處理需求(每個文檔不超過500個段落和25個表格),如果需要處理更大的文檔,可選擇商業版本。


在 C# 中將文本轉換為 Word

處理純文本時,通常有兩種情況:

  1. 文本已經在內存中,例如來自用戶輸入或程序生成的字符串。
  2. 文本存儲在 .txt 文件中,需要將其轉換為 Word 文檔。

將文本字符串轉換為 Word

using?Spire.Doc;
using?Spire.Doc.Documents;class?Program
{static?void?Main(){Document?document?=?new?Document();Section?section?=?document.AddSection();Paragraph?paragraph?=?section.AddParagraph();paragraph.AppendText("這是一個將文本字符串轉換為?Word?的示例。");document.SaveToFile("TextStringToWord.docx",?FileFormat.Docx);}
}

說明

  • Document 用于創建 Word 文檔對象。
  • SectionParagraph 是 Word 文檔結構的基本單元,可以根據需要添加多段文本或設置段落格式。
  • 輸出文件 TextStringToWord.docx 將包含插入的文本內容。

擴展技巧:如果需要對文本應用不同字體、顏色或樣式,可以使用 TextRange 對象進一步設置。


將文本文件轉換為 Word

using Spire.Doc;namespace ConvertTextToWord
{internal class Program{static void Main(string[] args){// 創建Document類的對象Document doc = new Document();// 加載文本文件doc.LoadText("示例.txt");// 將文本文件保存為Worddoc.SaveToFile("Txt轉Word.docx", FileFormat.Docx2016);doc.Close();}}
}

說明

  • LoadText 用于加載文本文件。
  • SaveToFile 將文本文件保存為Word文件,可選Doc, Docx等多種格式。

在 C# 中將 Word 轉換為文本

有時我們需要從 Word 文檔中提取內容用于分析或存儲。這種情況下,可以將 Word 文檔導出為純文本文件:

using?Spire.Doc;class?Program
{static?void?Main(){Document?document?=?new?Document();document.LoadFromFile("Sample.docx");//?保存為純文本文件document.SaveToFile("WordToText.txt",?FileFormat.Txt);}
}

說明

  • 此操作會去除 Word 文檔的格式,只保留文本內容。
  • 導出的文本可用于全文搜索、日志分析或進一步處理。
  • 如果需要保留某些簡單格式(如換行或段落分隔),可在保存前手動遍歷段落進行處理。

總結與建議

通過掌握文本與 Word 之間的雙向轉換,開發者可以:

  • 提高文檔處理效率:將生成的文本內容快速轉換為可打印或可分享的 Word 文檔。
  • 便于數據分析:從 Word 文檔中提取文本,用于搜索、索引或統計。
  • 保持格式靈活性:根據需要對段落、字體或樣式進行自定義。

掌握這些方法后,C# 應用就可以更靈活地處理不同來源和類型的文檔內容。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/98016.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/98016.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/98016.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Open SWE:重構代碼協作的智能范式——從規劃到PR的全流程自動化革命

在軟件開發的演進史上,工具鏈的每一次革新都深刻重塑著開發者的工作方式。LangChain AI推出的Open SWE,作為首個開源的異步編程代理,正在重新定義代碼協作的邊界——它不再僅僅是代碼生成工具,而是構建了從代碼庫分析、方案規劃、代碼實現到拉取請求創建的端到端自動化工作…

【ARDUINO】通過ESP8266控制電機【待測試】

需求 通過Wi-Fi控制Arduino驅動的3V直流電機。這個方案使用外部6V或9V電源,ESP8266作為Wi-Fi模塊,Arduino作為主控制器,L298N作為電機驅動器。 手機/電腦 (Wi-Fi客戶端) | | (Wi-Fi) | ESP8266 (Wi-Fi模塊, AT指令模式) | | (串口通信) | A…

cuda編程筆記(18)-- 使用im2col + GEMM 實現卷積

我們之前介紹了cudnn調用api直接實現卷積,本文我們探究手動實現。對于直接使用for循環在cpu上的實現方法,就不過多介紹,只要了解卷積的原理,就很容易實現。im2col 的核心思想im2col image to column把輸入 feature map 的每個卷積…

Loopback for Mac:一鍵打造虛擬音頻矩陣,實現跨應用音頻自由流轉

虛擬音頻設備創建 模擬物理設備:Loopback允許用戶在Mac上創建虛擬音頻設備,這些設備可被系統及其他應用程序識別為真實硬件,實現音頻的虛擬化傳輸。多源聚合:支持將麥克風、應用程序(如Skype、Zoom、GarageBand、Logic…

深入解析Django重定向機制

概述 核心是一個基類 HttpResponseRedirectBase,以及兩個具體的子類 HttpResponseRedirect(302 臨時重定向)和 HttpResponsePermanentRedirect(301 永久重定向)。它們都是 HttpResponse 的子類,專門用于告訴…

【Java實戰?】從IO到NIO:Java高并發編程的飛躍

目錄一、NIO 與 IO 的深度剖析1.1 IO 的局限性1.2 NIO 核心特性1.3 NIO 核心組件1.4 NIO 適用場景二、NIO 核心組件實戰2.1 Buffer 緩沖區2.2 Channel 通道2.3 Selector 選擇器2.4 NIO 文件操作案例三、NIO2.0 實戰3.1 Path 類3.2 Files 類3.3 Files 類高級操作3.4 NIO2.0 實戰…

OpenCV 實戰:圖像模板匹配與旋轉處理實現教程

目錄 一、功能概述:代碼能做什么? 二、環境準備:先搭好運行基礎 1. 安裝 Python 2. 安裝 OpenCV 庫 3. 準備圖像文件 三、代碼逐段解析:從基礎到核心 1. 導入 OpenCV 庫 2. 讀取圖像文件 3. 模板圖像旋轉:處理…

一、cadence的安裝及入門教學(反相器的設計與仿真)

一、Cadence的安裝 1、安裝VMware虛擬機 2、安裝帶有cadence軟件的Linux系統 注:網盤鏈接 分享鏈接:https://disk.ningsuan.com.cn/#s/8XaVdtRQ 訪問密碼:11111 所有文件壓縮包及文檔密碼: Cadence_ic 3、安裝tsmc18工藝庫…

用ai寫了個UE5插件

文章目錄實際需求1.頭文件2.源文件3.用法小結實際需求 這個需求來源于之前的一個項目,當時用了一個第三方插件,里邊有一些繪制線段的代碼,c層用的是drawdebugline,當時看底層,覺得應該沒問題,不應該在rele…

機器學習從入門到精通 - 強化學習初探:Q-Learning到Deep Q-Network實戰

機器學習從入門到精通 - 強化學習初探:從 Q-Learning 到 Deep Q-Network 實戰 一、開場白:推開強化學習這扇門 不知道你有沒有過這種感覺 —— 盯著一個復雜的系統,既想讓它達到某個目標,又苦于無法用傳統規則去精確描述每一步該怎…

【OpenHarmony文件管理子系統】文件訪問接口解析

OpenHarmony文件訪問接口(filemanagement_file_api) 概述 OpenHarmony文件訪問接口(filemanagement_file_api)是開源鴻蒙操作系統中的核心文件系統接口,為應用程序提供了完整的文件IO操作能力。該項目基于Node-API&…

云手機運行是否消耗自身流量?

云手機運行是否消耗自身流量,取決于具體的使用場景和設置:若用戶在連接云手機時,使用的是家中Wi-Fi、辦公室局域網等非移動數據網絡,那么在云手機運行過程中,基本不會消耗用戶自身的移動數據流量,在家中連接…

JavaSe之多線程

一、多線程基本了解 1、多線程基本知識 1.進程:進入到內存中執行的應用程序 2.線程:內存和CPU之間開通的通道->進程中的一個執行單元 3.線程作用:負責當前進程中程序的運行.一個進程中至少有一個線程,一個進程還可以有多個線程,這樣的應用程序就稱之為多線程程序 4.簡單理解…

產品月報|睿本云8月產品功能迭代

睿本云8月更新已陸續上線! 睿本云8月產品月報,點擊查收👇小程序支付成功彈窗廣告、企業會員增加卡券銷售和卡券退貨模塊、工廠端可批量新增多門店訂貨單、門店端和工廠端新增“極速訂貨”、商品調撥業務支持自定義多種流程配置等功能迭代更新…

融云:當我們談論 AI 重構業務時,我們到底在談論什么

所有業務都值得用 AI 重新做一次。 這句話正在從一句鼓舞人心的口號,演變為一場無人可避的商業現實。AI 帶來的結構性機會,意味著企業有機會從根本上重構成本、效率與體驗的曲線。但這一切最終都要回到一個無比務實的問題上: AI 究竟如何在我…

org.yaml.snakeyaml.error.YAMLException: java.nio.charset.MalformedInputException: Input length = 1異常

org.yaml.snakeyaml.error.YAMLException: java.nio.charset.MalformedInputException: Input length 1異常問題解決一、問題背景二、錯誤現象三、原因分析核心問題:字符集不匹配四、解決過程試錯路徑記錄五、最終方案1.創建launch.json文件,修改VSCode…

【C語言】深入理解指針(5)

目錄 sizeof和strlen 1.sizeof 2.strlen 3. sizeof 和 strlen 的對比 sizeof和strlen 1.sizeof sizeo正名:sizeof是操作符,不是函數,sizeof是操作符,括號內如果有計算不會進行計算sizeof 是操作符,用于計算變量所…

動態代理設計模式

JDK動態代理實現 動態代理利用了JDK API,動態地在內存中構建代理對象,從而實現對目標對象的代理功能.動態代理又被稱為JDK代理或接口代理. 靜態代理與動態代理的區別: 靜態代理在編譯時就已經實現了,編譯完成后代理類是一個實際的class文 動態代理是在運行時動態生成的,即編譯…

《Html泛型魔法學院:用霍格沃茨風格網頁教授集合框架》

一、項目概述 這個創意教學網頁,將Java泛型與集合框架知識融入霍格沃茨魔法世界主題。通過沉浸式UI設計和交互式代碼練習,讓抽象的技術概念變得生動有趣。主要技術棧包括: HTML5語義化結構Tailwind CSS框架Font Awesome圖標庫純JavaScript交…

學習PaddlePaddle--環境配置-PyCharm + Conda?

第一階段:安裝與配置 Python 和 Conda?? 雖然 PyCharm 可以管理環境,但我們先獨立準備好 Conda 環境,這樣更清晰可靠。 ??1. 安裝 Miniconda (Python 環境管理)?? 1. ??下載??: ? 訪問 Miniconda 官網。 ? 選擇 ??M…