RubyOnRailsで帳票印刷

Rails4でdocxを読み書き〜gem docx

投稿日:

github.com/chrahunt/docx

rubyでもいいんだけど、rubygemでのバージョンが最新でなかったのでRailsアプリを作って試してみた

環境

  • Mac OSX Merverick
  • Ruby 2.1.1
  • Rails 4.0.3
  • docx 0.2.04

準備

適当にワードファイルを作っておく.

tableも扱うので表もあるワードファイルが望ましい.

日本語ファイル名でもOK.

Railsのサンプルアプリを作り、tmp以下にでもdocxファイルをいれておく.

以下のサンプルはこんな感じ

Gemfile

Controller

View

screenshot

読みこみ

ブックマーク

Wordにはブックマークという機能があるらしい.

ブックマークを追加または削除する

docxジェムでは、ブックマークの前後に文字を書き込むようにしている.

bookmarkの一覧を読み出すには、

公式のREADMEを見るとわかるけど、名前とオブジェクトを抜き出せるぽい

テーブル

新機能のテーブル操作

書きこみ

ブックマークを基本にinsert_text_afterかinsert_multiple_linesを使う.(公式のREADMEはメソッド名が間違っているので注意)

insert_text_afterは、ブックマークの後ろに文字列を挿入する.

ブックマークの場所は表の中でもOKだった.

insert_text_beforeもある.

insert_multiple_linesは、配列を渡して配列の要素を1行として、対象の行を書き換える.

もちろん、表の中でもOK.

結論

日本語が通るって素晴らしい

-RubyOnRailsで帳票印刷
-

執筆者:

関連記事

Railsでdocxをフォーマット指定でダウンロードできるようにする

タイトルだけだと何のことだかわからない railsでdocuments/2とかをGETメソッドで呼び出すとdocumentsコントローラーのshowメソッドを呼び出すようになってるんだけど、docum …

no image

Rubyでxmlの要素の追加など~nokogiri

目次1 はじめに2 文字列をパースしてxmlとして読み込んでそのままxmlとして出力する3 nodeの追加4 nodesetの作成と追加5 DocumentFragmentの作成と追加 はじめに 参考 …

no image

Rails3.2で関連するモデルのフォームをあわせて表示~accepts_nested_attributes_for & fields_for

Railsで関連するモデルのフォームを表示するメモ またハマったので手順をメモ 目次1 Model2 View3 Controllerでもどこでも Model [crayon-59747e27a9d7 …

no image

railsでdocxを生成する動画

  知り合いに試しに使ってもらうのに動画を作成しました

no image

Rails3でrtfを出力

  rtfはリッチテキストフォーマット、ms wordなどで扱えるほか、標準添付のwordpadなどでも扱える config/initializers/mime_types.rbを編集 [c …