2011-07-19 22 views
6

私のモデルからExcelスプレッドシートにデータをエクスポートしようとしています。私は毎回ユーザーファイルを生成し、私が見た例では、ローカルファイルに書いていたが、私は に探しています、私はそれを使用する方法を理解していなかったスプレッドシートの宝石を 使用する3つの方法モデルからデータをエクスポートしてrubyonrailsのファイルをExcelにエクスポートする方法

  1. を見てきましたリンクをクリックします。
  2. 輸出というメソッドを作成し、私の見解でexport.xlsファイルを作り、その後 、そこにクエリを実行し、そのファイルには、私はExcelファイルにエクスポートしたい テーブルを作成するが、このアプローチ ドン」私は複数のシートを作成することができます。
  3. このチュートリアルではhttp://oldwiki.rubyonrails.org/rails/pages/HowToExportToExcel、 にリンクしていますが、ここではリンクを表示する方法は示されていません。ルートに何か不足していると思われますので、必要ならばコード。
+0

excelにデータをエクスポートするだけでよい場合は、このgem https://github.com/igorkasyanchuk/rails_dbを使用してexcelまたはcsvを使用できます –

答えて

7

私の選択は、CSVファイルを手動で生成することです。 Like:

File.new("data.csv", "w+") do |f| 
    @my_data.each do |data| 
    f << [data.title, data.body, ...].join(", ") + "\n" 
    end 
end 

CSVファイルは、Excelまたは他のスプレッドシートソフトで開くことができます。

1

最新のRailsプロジェクトでwriteexcelを使用しています。高速で簡単にエクセルファイルを直接エクスポートする方法 - いいえCSV

ビューで直接使用するには、writeexcelをテンプレートハンドラとして登録する必要があります。これは私のgistが行うexcaltyです。 export.xls.writeexcelのような新しいテンプレートを作成し、コードを挿入すればいいです。ここに私自身の宝石を差し込む

1

が、あなたはそれがあなたにaxlsx宝石からローカリゼーション、グラフ、表や書式の面でwriteexcelやスプレッドシートよりも少しを与えるhttps://github.com/randym/acts_as_xlsx

を見ているかもしれません。

また、アクティブなレコードのスコープとメソッドチェーンと統合します。詳細な使用例と

ブログ投稿: http://axlsx.blogspot.com/

http://axlsx.blogspot.jp/2011/12/using-actsasxlsx-to-generate-excel-data.html

のGithubでhttp://axlsx.blogspot.jp/2011/12/axlsx-making-excel-reports-with-ruby-on.html

:Rubygemsのオンhttps://github.com/randym/axlsx

https://rubygems.org/gems/axlsx Rubytookboxで

https://www.ruby-toolbox.com/projects/axlsx

基本的にはあなたのコントローラに

format.xlsx { 
     xlsx_package = Post.to_xlsx 
     begin 
     temp = Tempfile.new("posts.xlsx") 
     xlsx_package.serialize temp.path 
     send_file temp.path, :filename => "posts.xlsx", :type => "application/xlsx" 
     ensure 
     temp.close 
     temp.unlink 
     end 
    } 

をレスポンダを設定伴い、上記次

 class Post < ActiveRecord::Base 
     acts_as_xlsx 

モデル上の2つのブログの記事はかなり明確なウォークスルーを与えます。

関連する問題