Word ドキュメントを作成し、テーブルを追加するためのオープンソース Ruby ライブラリ

Office Open XML (OOXML) フォーマットを使用して Microsoft Word .docx ファイルを作成し、DOCX ファイル内にテキスト段落、テーブル、画像を追加できる無料 Ruby Gem(ライブラリ)。

OpenXml::Docx とは何ですか?

Microsoft Word のドキュメントは、業界全体でのビジネスコミュニケーション、レポート、文書化の標準となっています。手動でのドキュメント作成は小規模な作業には機能しますが、テンプレートや大量処理、動的コンテンツを扱う場合は、ドキュメント生成の自動化が不可欠です。ここで活躍するのが OpenXml::Docx です—ソフトウェア開発者がプログラムでプロフェッショナルな Word ドキュメントを作成できるようにする Ruby ライブラリです。このライブラリは Ruby が動作する環境ならどこでも動作し、外部依存はありません。ライブラリには新しい Word ドキュメントの作成、テキストのフォーマッティングやスタイリング、テーブルとデータの提示、画像やメディアの統合など、重要な機能が多数含まれています。

OpenXml::Docx は、Open XML フォーマット(皆が知っている .docx 拡張子)で Word ドキュメントを生成するための、シンプルで直感的なインターフェースを提供する Ruby gem です。Microsoft Office のインストールを必要とするヘビ級ソリューションとは異なり、このライブラリは独立して動作し、純粋な Ruby コードでゼロからドキュメントを作成します。Office Open XML 標準に準拠しているため、Microsoft Word、Google Docs、LibreOffice、その他の最新ワードプロセッサと互換性があります。ライブラリはシンプルさと可読性に重点を置いており、Word ドキュメントの複雑な XML 構造に慣れていない開発者でもドキュメント生成を行えるようにします。XML 名前空間やスキーマと格闘する代わりに、自然で保守しやすいシンプルな Ruby コードを書くだけです。

Previous Next

OpenXml::Docx の始め方

OpenXml::Docx のインストールには RubyGems の使用が推奨されます。スムーズなインストールのために以下のコマンドをご利用ください。

RubyGems 経由で OpenXml::Docx をインストールする

 gem install openxml-docx
You can also download it directly from GitHub.

最初の DOCX ドキュメントを作成する

オープンソースの OpenXml::Docx は、Java アプリケーション内で新しい Word ドキュメントを作成・管理するための完全なサポートを含んでいます。Word ドキュメントの基本的な構成要素は段落です。数行のコードだけで、ソフトウェア開発者は Word ドキュメントにテキストや画像を追加できます。以下は、開発者がドキュメント本体にアクセスし、テキストラン付きの段落を追加し、フォーマットを適用し、ファイルを保存する方法を示す簡単な例です。

Java API を使用して Word ドキュメントを作成し、テキスト付き段落を追加する方法は?

require 'openxml/docx'

# Create a new document package
package = OpenXml::Docx::Package.new

# Access the main document
doc = package.document

# Add a paragraph with text
paragraph = doc.add_paragraph
run = paragraph.add_run
run.text = "Welcome to OpenXml::Docx"
run.bold = true
run.font_size = 24

# Save the document
package.save('welcome.docx')

Java を使用した高度なテキストフォーマット

オープンソースの OpenXml::Docx ライブラリは、Word ドキュメント内の基本的なテキストフォーマットだけでなく高度なテキストフォーマットも完全にサポートしています。基本的な太字や斜体に加えて、洗練されたテキストフォーマットをサポートします。以下の Java コード例は、下線、取り消し線、ハイライト、複数効果の組み合わせを示しています。color プロパティは十六進数の値を受け取り、ブランドガイドラインに正確に合わせた色指定が可能です。

Java API を使用して Word ドキュメントにテキストフォーマットを適用する方法は?

require 'openxml/docx'

package = OpenXml::Docx::Package.new
doc = package.document

# Demonstrate various text effects
para1 = doc.add_paragraph
run1 = para1.add_run
run1.text = "This text is underlined"
run1.underline = :single

para2 = doc.add_paragraph
run2 = para2.add_run
run2.text = "This text has a strikethrough"
run2.strike = true

para3 = doc.add_paragraph
run3 = para3.add_run
run3.text = "This text is highlighted"
run3.highlight = "yellow"

para4 = doc.add_paragraph
run4 = para4.add_run
run4.text = "This combines multiple effects"
run4.bold = true
run4.italic = true
run4.color = "FF0000"
run4.font_size = 16

package.save('formatted_text.docx')

Java を使用して Word ファイル内のデータ用テーブルを作成する

テーブルは構造化された情報を提示するために不可欠です。OpenXml::Docx ライブラリは、Java アプリケーション内でデータを適切に管理するために Word ドキュメント内にテーブルを作成することを容易にします。以下は、ヘッダー行を太字にし、3 行のデータ行を持つプロフェッショナルな販売テーブルを作成できる実用例です。コードは特定のセルにアクセスし、コンテンツで埋める方法を示しています。データ構造をイテレートしてテーブルに動的にデータを投入できるため、レポート生成に最適です。

Java アプリ内で行と列を持つテーブルを作成する方法は?

require 'openxml/docx'

package = OpenXml::Docx::Package.new
doc = package.document

# Add a heading
heading = doc.add_paragraph
heading_run = heading.add_run
heading_run.text = "Sales Summary"
heading_run.bold = true
heading_run.font_size = 18

# Create a table with 3 columns and 4 rows
table = doc.add_table(rows: 4, cols: 3)

# Header row
table.rows[0].cells[0].add_paragraph.add_run.text = "Product"
table.rows[0].cells[1].add_paragraph.add_run.text = "Units Sold"
table.rows[0].cells[2].add_paragraph.add_run.text = "Revenue"

# Make header row bold
table.rows[0].cells.each do |cell|
  cell.paragraphs[0].runs[0].bold = true
end

# Data rows
products = [
  ["Widget A", "1,250", "$25,000"],
  ["Widget B", "890", "$17,800"],
  ["Widget C", "2,100", "$42,000"]
]

products.each_with_index do |product, index|
  row = table.rows[index + 1]
  product.each_with_index do |value, col_index|
    row.cells[col_index].add_paragraph.add_run.text = value
  end
end

package.save('sales_summary.docx')

自動レポート・請求書生成

企業は OpenXml::Docx ライブラリを使用して、月次レポート、財務諸表、分析サマリーを自動的に生成できます。データベースからデータを取得し、プロフェッショナルなドキュメントにフォーマットすることで、組織は手作業の時間を膨大に削減できます。さらに、eコマースプラットフォームやサービス業は、請求書や契約書を動的に生成できます。顧客情報、明細項目、条件はデータベースから入力でき、すべての文書で正確性と一貫性が保たれます。

 日本