Ruby on rails 3 如何为excel工作表单元格设置合适的边框,在Ruby on Rails中导出excel

Ruby on rails 3 如何为excel工作表单元格设置合适的边框,在Ruby on Rails中导出excel,ruby-on-rails-3,export-to-excel,xls,Ruby On Rails 3,Export To Excel,Xls,在控制器的索引操作中,我得到: def index @vehicles = Vehicle.all respond_to do |format| format.html format.xls end end I have got this in my index.xls.erb template: <table> <tr> <th>Manufacturer</th>

在控制器的索引操作中,我得到:

def index
    @vehicles = Vehicle.all
    respond_to do |format|
    format.html
    format.xls
    end
end

I have got this in my index.xls.erb template:
 <table>
      <tr>
        <th>Manufacturer</th>
        <th>Model</th>
        <th>Version</th>
        <th>CC</th>
        <th>BHP</th>
      </tr>
    <% @vehicles.each do |vehicle| %>
      <tr>
        <td><%= vehicle.manufacturer.name %></td>
        <td><%= vehicle.model %></td>
        <td><%= vehicle.version %></td>
        <td><%= vehicle.engine_cc %></td>
        <td><%= vehicle.power_bhp %></td>
       <% end %>
  </table>

 and I have registered the mime_type for xls like this:
 Mime::Type.register 'application/vnd.ms-excel', :xls
def索引
@车辆=Vehicle.all
回应待办事项|格式|
format.html
format.xls
结束
结束
我在index.xls.erb模板中得到了以下内容:
制造商
模型
版本
科科斯群岛
必和必拓
我已经为xls注册了mime_类型,如下所示:
Mime::Type.register'application/vnd.ms excel',:xls

但它没有MS Excel显示的常用单元格边框。尝试了Railscasts中的建议,即。但这会导致在尝试打开文件时出现基本的输入/输出错误(在这种情况下,可能是文件格式不正确)。如果您希望从rails创建有效的excel数据,请查看axlsx,我们将不胜感激。 本着充分披露的精神,我是gem的作者,但它确实是制作excel(xlsx)文档的最佳选择

您可以在此处了解有关宝石的更多信息:

这里有在rails中使用它的教程:

还有一些辅助功能,如acts_as_xlsx和axlsx_rails,它们使模型导出和报告生成非常容易

如果您有任何问题,也可以在中找到我(JST)

freenode上的axlsx。 使用axlsx,您可以执行以下操作:

require 'axlsx'
p = Axlsx::Package.new
p.workbook.add_worksheet(:name => 'vehicles') do |sheet|
  sheet.add_row %w(Manufacturer Model Version CC BHP), :style => Axlsx::STYLE_THIN_BORDER
  @vehicles.each do |vehicle|
    data = [vehicle.manufacturer.name, vehicle.model, 
            vehicle.version, vehicle.engine_cc,
            vehicle.power_bhp]
    sheet.add_row data, :style => Axlsx::STYLE_THIN_BORDER
  end
end
p.serialize('vehicles.xlsx')
你还可以做很多事情,比如自定义样式、图表、超链接、图像等。
如果您认为它适合您的开发风格,请试一试。

我最后就是这么做的,使用了axlsx gem!在我的例子中,在填充以下行中的更多数据之前,是否有方法将值插入到特定列中,将当前日期添加到第Pth列中?使用add_row[nil,nil,nil,Time.now],其中nil值是您希望跳过的列。