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でデータベーススキーマの変更と関連するモデルのフォーム

  gemを公開しました!詳細は記事の最後に!   新規投稿するフォームのラベルが変数を使っていて見苦しいので自分で好きなラベルを付けられるようにした いまのスキーマはこんな感じな …

Rubyでdocxをいろいろ分析してみた

  目次1 解凍~minizip2 ファイルを開く~File.open3 全ファイルを解凍せずにzip内の必要なファイルだけを開く~zipruby4 置換~gsub5 xmlの操作~noko …

no image

Rails3でrtfを出力

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

今度こそRails3.2からdocxを生成する

  前提 Rubyからdocxを生成する 前回、イキオイアマって自分でdocxを生成する簡単なライブラリを作ってしまった.(なんて車輪の再発明 今回はこれをRailsから利用してみる. 目次 …

Rails3.2でdocxを作成

  途中経過 github.com/jawspeak/ruby-docx-templater これを試してみた まずローカル環境にgemをダウンロード [crayon-58fe64cc0c3 …