2012-01-11 17 views
0

レポートを生成しようとしています。私はすでにHTMLテーブルをビューで作成しており、「Exporting data to CSV and Excel in your Rails app」で取り上げられているアプローチに従いたいと考えていました。XLS拡張機能を持つHTMLファイルをエクスポートするにはどうすればよいですか?

私が読んで:

を「私のプロジェクトで、私は、ファイルにHTMLテーブルを保存し、それをHTMLの代わりにXLS拡張子を与えるなどtable.xls私はその後、ブラウザに送信します。。 ExcelのMIMEタイプ、そしてExcelがこのファイルを開き、htmlテーブルのようなフォーマットになりますので、太字の見出しやセルの背景色などを取得します。 "

"私が知っている最も簡単な方法は、テーブルを持つHTMLファイルにXLS拡張子を付けるHTMLの文字セットは尊重され、必要に応じて改行を行うことができます。小さなエンディアンまたは大きなエンディアンは問題ではありません.thタグは列ヘッダーを定義し、thファイルを構築するためのソリューションはすでにたくさんあります」

HTMLテーブルをファイルに保存し、Excelで開くには.XLSの拡張子を付けるにはどうすればよいですか?

+0

あなたの "一部のユーザーは、" completley間違っています。 "テーブルでHTMLファイルを生成し、それにXLS拡張子を付ける"というのは完全に無意味な/役に立たないアドバイスです。既にリンクしているブログ投稿には、Excelで読むことができるCSVを生成する方法の説明があります。あなたが理解できないものがあれば、尋ねてください。 – jrochkind

+3

@jrochkindもちろん、レールコミュニティの尊敬されるプログラマーであるポスト著者は、「NikoとChrisは、ExcelのHTMLテーブルを使って作業することもできると教えてくれました。これは簡単でフォーマットも可能です。だから私はそれらのソリューションが完全に意味のない/役に立たないアドバイスになるとは思わない。 – leonel

+0

http://blog.brijeshshah.com/export-to-excel-in-ruby-on-rails/ – leonel

答えて

2

これは良いアドバイスかどうかわかりません。個人的に私は常にCSVに固執する。しかし、ここであなたはそれをやるでしょう。

あなたが追加する必要がありますmime_types.rb設定/初期化子/で次に
class ExportController < ApplicationController 
    def export 
    html = build_html_table() 
    respond_to do |format| 
     format.xls { send_data html, :type => 'application/vnd.ms-excel; charset=utf-8; header=present', :filename => 'export.xls' } 
    end 
    end 
end 

Mime::Type.register 'application/vnd.ms-excel', :xls 
関連する問題