RubyOnRailsで帳票印刷

Rails4でOpenDocumentText(.odt)を作成~serenity

投稿日:

Rails4でOpenDocumentText(.odt)を作成~serenity(未完)

Rails3.2でOpenDocumentText(.odt)を作成~serenity

theooさんのフォークを使えば日本語も通りました!

github.com/theoo/serenity

Gemfile

テンプレートファイルを作る

SerenityのREADMEドキュメントを参考にodtファイルを作成する

screenshot

*テンプレートはこちらのものを使用させてもらいました。

templates.openoffice.org/ja/template/qing-qiu-shu-tenpureto

Model

モデルなどで、Serenity::Generatorをインクルードして、テンプレート中の@変数を定義して、render_odtでOK

Controller

コントローラーなどでsend_fileしてやれば

できた!

こんなデータから

screenshot

こんなodtファイルを作れるよ!

 

screenshot

カンマの挿入で地味にハマってる。。。

カンマの挿入に対応

ハマったパターン

1000とかは1,000にできるけど、なぜか10000が1,000になってしまうのでだめ

number_to_currencyをつかう

number_to_currencyはModelからは使えないので無理に

テンプレート内のイテレータ下の数字(order.product.price)とかは、代入の段階でうまくnumber_to_currencyできないので、別メソッドを作って対応

テンプレートの方でpriceではなくprice_to_currencyを呼ぶように変更

できた

screenshot

サンプルをGitHubに公開

github.com/seventhsense/claim_system

 

-RubyOnRailsで帳票印刷
-

執筆者:

関連記事

Railsでデータベーススキーマの変更と関連するモデルのフォーム

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

no image

railsでdocxを生成する動画

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

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

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

no image

Rubyでエクセル帳票印刷(.xls)~spreadsheet

  pdfとdocxとxlsが作成できれば帳票印刷で困ることはなさそう spreadsheetというgemを使ってみた 参考 dragonstar.asablo.jp/blog/2009/0 …

no image

Rubyからdocxを生成する

    前提 Rubyでdocxをいろいろ分析してみた 変数の仕様~正規表現 いろいろなパターンで試してみた 例えば、こんな文 [crayon-5b08c462dfd2447168 …