ワード プロセッシング ドキュメントを作成するための無料の .NET ライブラリ
オープン ソース .NET API を介して Word ファイルの読み取り、書き込み、操作、および変換を行います。
NetOffice は、.NET 開発者が Microsoft Office を自動化し、Microsoft Office アドインを開発できるようにするオープン ソース API です。 API を使用すると、開発者は MS Office バージョン 2000、2002、2003、2007、2010、2013、および 2016 に含まれるすべての機能を使用できます。API は、アプリケーションで COM プロキシ オブジェクトを取得する COM アーキテクチャに基づいています。すべての COM プロキシ オブジェクトを解放する必要があります。 NetOffice を使用する主な利点は、異なるバージョンの Microsoft Office を一度に操作できることと、COM プロキシを管理するための保護メカニズムが提供されることです。
API を使用すると、32 ビットと 64 ビットの両方のオペレーティング システム用のアプリケーションを開発できます。 NetOffice アセンブリは、すべてのシナリオで心配なく使用できます。この API は、オフィス ドキュメントを操作するための一連のライブラリを提供します。 Microsoft Word ドキュメントを操作するには、依存関係として OfficeApi.ddl、VBIDEApi.dll、および NetOffice.dll を含む WordApi.dll が必要です。
NetOffice を使い始める
まず、.NET Framework 4.5 以降が必要です。その後、リポジトリを GitHub から手動でダウンロードするか、NuGet からインストールしてください。
NuGet からのインストール NetOffice
Install-Package NetOfficeFw.Word
無料の C# API を使用して Word ドキュメントを作成する
NetOffice を使用すると、.NET プログラマは Microsoft Word ファイルをプログラムで作成できます。 Word ファイルを作成するには、まず Word アプリケーションを初期化し、メッセージ ボックスをオフにする必要があります。 Word アプリケーションを起動したら、WordApplicaiton.Documents.Add() メソッドを使用して新しいドキュメントを追加できます。 WrodApplication.Selection.TypeText() メソッドを使用して新しく作成した Word ファイルにテキストを挿入し、WordApplicaiton.Selection.Font() メソッドを使用してフォントを設定できます。ドキュメントの作成が完了したら、Document.SaveAs() メソッドを使用して保存できます。
NetOffice ライブラリ経由で Word 文書を作成する
// start word and turn off msg boxes
Word.Application wordApplication = new Word.Application();
wordApplication.DisplayAlerts = WdAlertLevel.wdAlertsNone;
// create a utils instance, no need for but helpful to keep the lines of code low
CommonUtils utils = new CommonUtils(wordApplication);
// add a new document
Word.Document newDocument = wordApplication.Documents.Add();
// insert some text
wordApplication.Selection.TypeText("This text is written by automation");
wordApplication.Selection.HomeKey(WdUnits.wdLine, WdMovementType.wdExtend);
wordApplication.Selection.Font.Color = WdColor.wdColorSeaGreen;
wordApplication.Selection.Font.Bold = 1;
wordApplication.Selection.Font.Size = 18;
// save the document
string documentFile = utils.File.Combine(HostApplication.RootDirectory, "Example01", DocumentFormat.Normal);
newDocument.SaveAs(documentFile);
// close word and dispose reference
wordApplication.Quit();
wordApplication.Dispose();
// show end dialog
HostApplication.ShowFinishDialog(null, documentFile);
C# を使用して Word でテーブルを作成する
NetOffice を使用すると、.NET プログラマは Microsoft Word ファイルにテーブルをプログラムで追加できます。最初に Word ファイルにテーブルを追加するには、Word アプリケーションを初期化し、メッセージ ボックスをオフにして、WordApplicaiton.Documents.Add() メソッドを使用して新しいドキュメントを追加する必要があります。 Word.Table を初期化し、Tables.Add(wordApplication.Selection.Range, 3, 2) メソッドを使用してテーブル範囲を設定することで、新しく作成した Word ファイルにテーブルを挿入できます。 table.Cell(1, 1).Select() を使用して特定のセルを選択し、そのセルにテキストを挿入することで、セルにテキストを挿入できます。ドキュメントの作成が完了したら、Document.SaveAs() メソッドを使用して保存できます。
.NET経由でWordファイルにテーブルを作成
Word.Application wordApplication = new Word.Application();
wordApplication.DisplayAlerts = WdAlertLevel.wdAlertsNone;
// create a utils instance, not need for but helpful to keep the lines of code low
CommonUtils utils = new CommonUtils(wordApplication);
// add a new document
Word.Document newDocument = wordApplication.Documents.Add();
// add a table
Word.Table table = newDocument.Tables.Add(wordApplication.Selection.Range, 3, 2);
// insert some text into the cells
table.Cell(1, 1).Select();
wordApplication.Selection.TypeText("This");
table.Cell(1, 2).Select();
wordApplication.Selection.TypeText("table");
table.Cell(2, 1).Select();
wordApplication.Selection.TypeText("was");
table.Cell(2, 2).Select();
wordApplication.Selection.TypeText("created");
table.Cell(3, 1).Select();
wordApplication.Selection.TypeText("by");
table.Cell(3, 2).Select();
wordApplication.Selection.TypeText("NetOffice");
// save the document
string documentFile = utils.File.Combine(HostApplication.RootDirectory, "Example02", DocumentFormat.Normal);
newDocument.SaveAs(documentFile);
// close word and dispose reference
wordApplication.Quit();
wordApplication.Dispose();
// show end dialog
HostApplication.ShowFinishDialog(null, documentFile);