ワード プロセッシング ドキュメントを作成するための無料の .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 が必要です。

Previous Next

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);
 日本