2012-01-11 54 views
0

我正在嘗試生成報告。我已經在視圖中創建了HTML表格,並且想要按照在「Exporting data to CSV and Excel in your Rails app」中討論的方法進行操作。如何導出帶有XLS擴展名的HTML文件?

我讀到:。

「在我的項目,我保存的HTML表格到一個文件,但給它的XLS擴展名而不是HTML的如table.xls我然後將其與發送到瀏覽器Excel MIME類型和Excel將打開此文件,並將格式化表格,就像HTML表格一樣,所以您將得到粗體標題和單元格背景顏色等。「

」我知道的最簡單的方法是生成一個帶有表格的HTML文件並給它一個XLS擴展名,HTML字符集被尊重,你可以儘可能多的換行符,小的或大的字節序不是問題,th標籤定義列標題和th已經有很多解決方案來構建文件了。「

如何將HTML表格保存到文件中,併爲其添加.XLS擴展名以在Excel中打開它?

+0

你 「一些用戶」 是completley錯誤的。 「用表格生成一個HTML文件並給它一個XLS擴展名」是完全沒有意義的/無用的建議。您鏈接到的博客文章已經很好地解釋瞭如何生成可供Excel讀取的CSV。如果有什麼地方你不明白,問。 – jrochkind 2012-01-12 01:02:59

+3

@jrochkind好的作者,他是rails社區中受人尊敬的程序員,他說:「Niko和Chris告訴我們,我們也可以在Excel中使用HTML表格,這很簡單,甚至可以格式化。」所以我不認爲這些解決方案將是完全沒有意義的/無用的建議 – leonel 2012-01-12 01:27:24

+0

http://blog.brijeshshah.com/export-to-excel-in-ruby-on-rails/ – leonel 2012-01-12 02:22:04

回答

2

不知道這是否是好建議。我個人始終堅持csv。但這是你如何去做的。

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_types.rb你需要追加:

Mime::Type.register 'application/vnd.ms-excel', :xls 
相關問題