Ruby on rails 表格3问题
我已将rails 2.3.10应用程序升级为rails 3.0.3。在我的应用程序中,我有一个功能,比如用户可以将数据下载到excel中 我的gem版本:电子表格-0.6.4.1 我已经在Gemfile中声明了gem版本,并在application.rb中声明了Mime::Type.register\u别名“application/excel”:xls。我的excel生成代码如下Ruby on rails 表格3问题,ruby-on-rails,Ruby On Rails,我已将rails 2.3.10应用程序升级为rails 3.0.3。在我的应用程序中,我有一个功能,比如用户可以将数据下载到excel中 我的gem版本:电子表格-0.6.4.1 我已经在Gemfile中声明了gem版本,并在application.rb中声明了Mime::Type.register\u别名“application/excel”:xls。我的excel生成代码如下 <% book = Spreadsheet::Workbook.new data = book.creat
<%
book = Spreadsheet::Workbook.new
data = book.create_worksheet :name => 'myname'
data.row(0).concat %w{name email}
header_format = Spreadsheet::Format.new :color => :green, :weight => :bold
data.row(0).default_format = header_format
@names.results_data.each_with_index { |n, i|
data.row(i+1).push n.name,n.email
}
blob = StringIO.new('')
book.write(file_blob)
-%><%=blob.string%>
“我的名字”
data.row(0).concat%w{name email}
header\u format=电子表格::format.new:color=>:绿色,:weight=>:粗体
data.row(0)。默认格式=标题格式
@name.results_data.each_与_索引{| n,i|
data.row(i+1).推送n.name,n.email
}
blob=StringIO.new(“”)
book.write(文件\u blob)
-%>
我的控制器代码是:
respond_to do |format|
format.html
format.rss
format.xls {
view_output = render_to_string :action => "excel" << name
send_data(view_output, :type=>"application/ms-excel", :filename => "name.xls")
}
respond|to do |格式|
format.html
format.rss
format.xls{
查看\输出=呈现\到\字符串:操作=>“excel”“应用程序/ms excel”,:文件名=>“name.xls”)
}
问题是,当单击excel链接时,它会打开excel窗口,并在弹出窗口中显示“name.xls[2]无法访问”。可能已损坏或为只读。。。我已经改变了所有的可能性,如宝石升级,mime类型的变化,但没有运气
有人能说出错误是什么吗两个想法:
def render_to_xls(names, name = 'myname')
book = Spreadsheet::Workbook.new
data = book.create_worksheet :name => name
data.row(0).concat %w{name email}
header_format = Spreadsheet::Format.new :color => :green, :weight => :bold
data.row(0).default_format = header_format
names.results_data.each_with_index { |n, i|
data.row(i+1).push n.name,n.email
}
blob = StringIO.new('')
book.write(blob)
blob
end
稍后,在响应者代码中:
respond_to do |format|
format.html
format.rss
format.xls {
send_data(render_to_xls(@names, name), :type=>"application/ms-excel", :filename => "name.xls")
}
def render_to_xls(names, name = 'myname')
book = Spreadsheet::Workbook.new
data = book.create_worksheet :name => name
data.row(0).concat %w{name email}
header_format = Spreadsheet::Format.new :color => :green, :weight => :bold
data.row(0).default_format = header_format
names.results_data.each_with_index { |n, i|
data.row(i+1).push n.name,n.email
}
blob = StringIO.new('')
book.write(blob)
blob
end
稍后,在响应者代码中:
respond_to do |format|
format.html
format.rss
format.xls {
send_data(render_to_xls(@names, name), :type=>"application/ms-excel", :filename => "name.xls")
}
请正确编码:请正确编码: