How To Read a Word File Using C#
今日の時代において、Microsoft Word文書はオフィス作業やプロフェッショナルと個人的なコミュニケーションと同義です。 したがって、アプリケーションでユーザーに表示するためにタスクを自動化したい開発者にとって、Word文書をプログラムで操作することは重要です。 利用可能なライブラリは多数ありますが、すべてが他のものほど堅牢であるわけではありません。 しかし、他と一線を画しているライブラリが一つあります。それはIronWordです。 IronWordは、使いやすく理解しやすい堅牢なC# Word DOCXライブラリであり、Wordドキュメントの操作を簡素化します。
この記事では、短い例を用いてIronWordをすばやく利用してWord文書を読む方法を探ります。
How To Read a Word File Using C#
-
Visual Studioでコンソールアプリケーションを作成します
-
IronWord C# DOCXライブラリをインストールします
-
WordDocumentクラスを使用して新しいWord文書を作成します
-
Word文書にテキストを追加します
-
Paragraphクラスを使用して各段落をループします
-
内容を表示します
IronWord: C# DOCXライブラリ

IronWordは、Word文書をアプリケーションに統合する際の手間を省く、簡単で使いやすいAPIを備えた柔軟でスケーラブルなライブラリです。 シンプルなテキストのWord文書をアプリケーションに追加して統合する場合でも、複雑なテーブルやレポートを作成してユーザーに表示する場合でも、IronWordはすべてをカバーしています。
ここにその注目すべき機能を挙げます:
1.文書操作: IronWordを使用すると、開発者はWord文書を簡単に操作できます。 ユーザーがテキストの段落やテーブルや画像のようなより複雑な構造を挿入したい場合でも、IronWordはすべてを実現できます。
-
クロスプラットフォームのサポートと互換性: IronWordは柔軟に設計されており、複数のプラットフォームで開発者をサポートします。 それは様々な.NET Core (8, 7, 6, 5, and 3.1+)、.NET Standard (2.0+)、.NET Framework (4.6.2+)、さらにはAzureもサポートしています。 さらに、開発者はWindows、Linux、macOS、Androidを含む多くのプラットフォームやシステムでIronWordを利用できます。 それは最も一般的なプラットフォームをカバーし、開発者がクロスプラットフォームアプリケーションを迅速に構築することを可能にします。
-
Microsoft Officeからの独立性: .NETアプリケーションにWord文書を統合する際の一般的な問題は、Interopのような人気のあるライブラリがMicrosoft Officeのライセンスを必要とすることです。しかし、IronWordはその制約によって問題を解消します。 開発者はMicrosoft Wordのライセンスとインストールに制約されずに、Word文書の力を十分に活用できます。
4.書式設定オプション: IronWordは書式設定とスタイリングに関して幅広いサポートを提供しており、開発者は独自のドキュメントを作成できます。 開発者はフォント、色、配置、およびテーブルスタイルなどの複雑なフォーマットを適用できます。
- 使いやすさと広範なサポート: 分かりやすいAPIと簡単なメソッドコールに加えて、IronWordは拡張APIリファレンスとコード例も提供し、開発者がIronWordを最適に利用するための方法を決定するのを手助けします。
Visual Studioで新しいコンソールプロジェクトを作成する
Visual Studioで空のコンソールプロジェクトを作成することから始めましょう。

次にプロジェクトの名前と保存先を指定します。

次に、使用する.NETフレームワークを選択します。 この例では.NET 8.0を使用します。

新しいコンソールプロジェクトの作成と設定が完了した後、C#のWordライブラリIronWordをインストールします。
IronWordのインストール
IronWordをインストールする方法は2つあります。
1. NuGetパッケージマネージャを使用したインストール
NuGetパッケージマネージャーを通じてインストールするには、ツールをクリックしてからManage NuGet Packages for Solutionを実行します。 次に検索バーでIronWordを検索して**IronWord**をインストールします。

2. NuGetパッケージマネージャコンソールを使用したインストール
代替方法として、NuGetパッケージマネージャコンソールを使用してインストールすることもできます。 それを行うには、次のコマンドをコンソールで実行します:
ライセンスキー
IronWordはライセンスキーなしでは動作しないことに注意してください; ここから無料トライアルの一部として入手できます。
トライアルキーを取得した後、この変数をプロジェクトに設定してください。
// Replace the license key variable with the trial key you obtained
IronWord.License.LicenseKey = "REPLACE-WITH-YOUR-KEY";' Replace the license key variable with the trial key you obtained
IronWord.License.LicenseKey = "REPLACE-WITH-YOUR-KEY"Reading Word Documents in C#
必要なものをインストールした後、IronWordを使用してMicrosoft Word文書を読むシンプルさを次のコードでデモンストレーションします。
まず、必要な名前空間をインポートします。 IronWordを使用して新しい文書を作成し、サンプルテキストを追加します。 次にWordDocumentオブジェクトを使用して段落とテキストにアクセスし、Wordドキュメント内のテキストを出力します。
using IronWord;
using IronWord.Models;
#region Licensing
// Set the IronWord license key before using the IronWord functionalities
IronWord.License.LicenseKey = "YOUR-KEY-HERE";
#endregion
// Create text run with sample text
Text textRunExample = new Text("Sample text");
// Create a paragraph and add the text run to it
Paragraph paragraphExample = new Paragraph();
paragraphExample.AddChild(textRunExample);
// Create a new Word document with the paragraph
WordDocument doc = new WordDocument(paragraphExample);
// Export the document as a DOCX file
doc.SaveAs("document.docx");
// Access paragraphs and text runs within the document
foreach (Paragraph paragraph in doc.Paragraphs)
{
foreach (Text textRun in paragraph.Texts)
{
// Access text content
string content = textRun.Text;
// Display the content to the console
Console.WriteLine(content);
}
}Imports IronWord
Imports IronWord.Models
#Region "Licensing"
' Set the IronWord license key before using the IronWord functionalities
IronWord.License.LicenseKey = "YOUR-KEY-HERE"
'#End Region
' Create text run with sample text
Dim textRunExample As New Text("Sample text")
' Create a paragraph and add the text run to it
Dim paragraphExample As New Paragraph()
paragraphExample.AddChild(textRunExample)
' Create a new Word document with the paragraph
Dim doc As New WordDocument(paragraphExample)
' Export the document as a DOCX file
doc.SaveAs("document.docx")
' Access paragraphs and text runs within the document
For Each paragraph As Paragraph In doc.Paragraphs
For Each textRun As Text In paragraph.Texts
' Access text content
Dim content As String = textRun.Text
' Display the content to the console
Console.WriteLine(content)
Next textRun
Next paragraph上記のコードからWordファイルを読む方法とパラメータを探ってみましょう。
-
まず、Textオブジェクトを作成し、文字列"サンプルテキスト"を代入します。
-
次に、Paragraphオブジェクトをインスタンス化して、"textRunExample"を追加します。
-
WordDocumentオブジェクトをインスタンス化し、それに
paragraphExampleを渡して段落を含む新しいWordドキュメントを作成します。 -
コードは後で使用するために"document.docx"というファイル名でWord文書を保存します。
-
作成したWord文書の段落にアクセスするには、WordDocumentオブジェクトの"Paragraphs"プロパティにアクセスします。 "Paragraphs"プロパティはリストであるため、それを反復するためにforeachループを呼び出します。
-
段落内のテキストを取得するには、Paragraphsの"Texts"プロパティにアクセスします。 これもTextのリストを返します。
-
最後に、Textを"content"という名前の文字列変数に割り当て、それをコンソールに印刷します。
コンソール出力

Reading an existing Word document in C#
前の例では、新しいWord文書をプログラムで作成し、その内容を読み取りました。 少しのコード変更で既存のWord文書を読むための同様のステップを辿ることができます。
入力文書

using IronWord;
using IronWord.Models;
#region Licensing
// Set the IronWord license key before using the IronWord functionalities
IronWord.License.LicenseKey = "YOUR-KEY-HERE";
#endregion
// Load an existing Word document
WordDocument doc = new WordDocument("existing_document.docx");
// Access paragraphs and text runs within the document
foreach (Paragraph paragraph in doc.Paragraphs)
{
foreach (Text textRun in paragraph.Texts)
{
// Access text content
string content = textRun.Text;
// Display the content to the console
Console.WriteLine(content);
}
}Imports IronWord
Imports IronWord.Models
#Region "Licensing"
' Set the IronWord license key before using the IronWord functionalities
IronWord.License.LicenseKey = "YOUR-KEY-HERE"
'#End Region
' Load an existing Word document
Dim doc As New WordDocument("existing_document.docx")
' Access paragraphs and text runs within the document
For Each paragraph As Paragraph In doc.Paragraphs
For Each textRun As Text In paragraph.Texts
' Access text content
Dim content As String = textRun.Text
' Display the content to the console
Console.WriteLine(content)
Next textRun
Next paragraph2つの例の主な違いは、WordDocumentオブジェクトに渡されるパラメータです。 新しい文書を作成する代わりに、既存のWordファイルをロードします。 あとは他の例と同じです。
コンソール出力

結論
例を通じて、IronWordライブラリを使用してC#でプログラムでWord文書を操作し読み取る方法がどれほどシンプルであるかを実演しました。 IronWordライブラリの柔軟性とスケーラビリティにより、開発者はIronWordを使用してテンプレートを埋める、レポートを生成する、ドキュメントをバッチ処理するなど、実用的で現実的な例で活用できます。 Wordがアプリケーションと統合される方法を理解することは、開発者にとって問題解決のための多くのソリューションを提供するため、価値があります。
さらに、IronWordの広範な機能を購入する前に一定期間試用することも可能なため、無料トライアルライセンスも提供しています。 使いやすさに加えて、IronWordは徹底したドキュメンテーションと24/5のサポートを提供し、開発者が生産時に直面する可能性のある絶え間ない苛立ちを軽減します。 また、様々なチュートリアルや、コード例も提供しており、IronWordの使用を開始するのに役立ちます。
試用ライセンスを使用してIronWordのさまざまな側面をテストした後、$599から始まるLite開発者ライセンスを購入できます。Liteからプロフェッショナルまでの価格があります。 ライセンスページを参照して、詳細情報を取得してください。

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。
関連する記事

