当前位置: 传客网 > Rails3中导出CSV文件

Rails3中导出CSV文件

2016-12-29 作者:Zernel_Guan

Published atZernel's Blog

因为项目需要,今天看了一下关于导出CSV文件的做法,从 Ruby 1.9.2 开始,fastercsv作为标准库整合到 Ruby 之中,我们可以直接通过直接 require 使用。下面例子是要把项目中的auctions数据导出来,具体做法参考如下:

View


<%= link_to 'Export to CSV', auctions_path(format: 'csv') %>

Controller


require 'csv'

class AuctionsController < ApplicationController
  def index
    ...
    @auctions = ...

    respond_to do |format|
      format.csv {
        send_data(csv_content_for(@auctions),
                  type: "text/csv;charset=utf-8; header=present",
                  filename: "Report_auctions_#{Time.now.strftime("%Y%m%d")}.csv")
      }
      format.html
    end
  end

  ...

  private
  def csv_content_for(auctions)
    CSV.generate do |csv|
      csv << ["VIN", "YEAR", "MAKE", "MODEL", "NAME", "STATUS"]

      auctions.each do |auction|
        vehicle = auction.vehicle
        csv << [vehicle.vin, vehicle.year, vehicle.make, vehicle.model, vehicle.user.name, auction.auction_status.name]
      end
    end
  end
end

在generate CSV的时候每插入一个数组都会自动转换成以逗号分隔的字符串并在后面自动加上换行符,如下:


  ➜  ~  irb
  1.9.3-p0 :001 > require 'csv'
   => true 
  1.9.3-p0 :002 > ['a', 'b', 'c'].to_csv
   => "a,b,c\n" 

因而每个数组为一行,到时在Excel只要导入的时候以逗号作为分隔符就可以排出自己想要的效果了:)


via: http://zernel.github.com/rails/2012/06/12/import-to-csv-by-ruby/



相关推荐

  • SMT行业中如何使用Gerber文件导出元件坐标

    Gerber文件的应用SMT生产线中的大多数加工设备均为数控设备。它们编程所需要的大多数特征数据均可从CAD设计系统中得到。如何在CAD设计系统和SMT自动化加工设备之间建立有机的联系和共享,正是我们所要解决的问题。本文介绍了从Gerber

  • 关于delphi的xml文件导出

    1、分析:a、就开户申请来说,最大的问题就是字段多,对xml报文导出也是一样。一个客户的信息的字段都将近100个字段,一个客户根据客户类型、申请的交易所的不同,又会生成不同的多条记录。所以,正确的处理每个字段,以及根据相关字段输出正确的报文

  • 云OS 联系人和其它文件导入/导出功能介绍

    云OS联系人和其它文件导入/导出功能介绍联系人导入/导出First,我们来进行联系人的导入操作。首先打开联系人后就可以看到联系人导入界面(手机里木有联系人),云手机给咱提供了多种导入方式(见下图)。*从其他手机导入第一步,启动云助手(木有安

  • potplayer 配置文件导入导出教程

    potplayer无论是播放功能还是自定义功能都非常强大,我们会按照自己的使用习惯来设置好potplayer,但是重装电脑后或者软件卸载完全后,就得重新设置,非常麻烦,现在我们来讲讲怎么:一次设置,终身受用!导出配置:单击播放器左上角的po

  • 出包王女:陪冲澡!梦梦视频文件导发绅耆关心注视

    ??相信良多著名人物都以前看过《出包王女》这部作品吧。然后续的系列《出包王女Darkness》更是一再地按F5许多人对于福利的界说。最近几天,JUMP官方推出了可以360度切换视角的“梦梦陪你冲澡”视频文件。在这段视频文件之中,我们看见女副

  • mysql数据库数据录入,导出中文乱码问题解决

    mysql数据库数据录入,导出中文乱码问题解决要使得mysql数据库中和导出显示数据为中文1、mysql的配置,在安装好mysql后,配置时将字符编码改为UTF-8,即选中第二项。对具体的数据库中的每一个表的编码改为UTF-82、Apach

  • 用PB写的将XLS文件的数据导入到DB数据库中的程序

    N年前,写过一个程序。程序的目的是将EXCEL里对应的记录导入到DB数据库中。程序用PB编写,顺便还写了注册的程序,以用于防止非法使用软件。我用它挣了1500元钱,在此保存一份程序代码,用来日后参考。---------博主应用程序bxcx的

  • ASP.NET 数据导出到excel文件给客户端下载的几种方法

    数据导出到excel文件给客户端下载的几种方法:方法一:导出到csv文件,存放在服务器端任一路径,然后给客户下载优点:1、可以进行身份认证后给客户下载,如果放到非web目录就没有对应的url,客户无法随时下载。2、也是因为生成了文件,所以占

  • datagrid数据导出到excel文件给客户端下载的几种方法

    方法一:导出到csv文件,存放在服务器端任一路径,然后给客户下载优点:1、可以进行身份认证后给客户下载,如果放到非Web目录就没有对应的url,客户无法随时下载。2、也是因为生成了文件,所以占用了服务器的空间,但是可以把文件名存放到数据库,

  • MATLAB中文件的读写和数据的导入导出

    MATLAB中文件的读写和数据的导入导出(转载)|字号订阅介绍MATLAB中文件的读写和数据的导入导出。13.1数据基本操作  本节介绍基本的数据操作,包括工作区的保存、导入和文件打开。13.1.1文件的存储  MATLAB支持工作区的保存

  • oracle中导入导出dmp数据库文件语句使用

    Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中。利用这个功能可以构建两个相同的数据库,一个用

  • 会声会影中导入MP4格式的文件后导出mp4格式软件自动关闭退出

    把MP4格式的文件一导入会声会影后,导出mp4格式的文件,会声会影就自动关闭了,不知道是怎么回事,怎么解决这个问题呢!网络搜索到一个解决办法,此方法本人还没来得及试验,如果有解决成功的,分享给大家。把暴风影音卸载干净,用POTPLAYER。

  • 导出数据到csv文件

    函数名:DatatableToCSVFile参数说明:DataTabledt导出CSV的数据stringxbkPahthCSV模板,主要存储一些表头的格式stringSavePath导出的路径refstringerr出错提示功能:把Data

  • Matlab文件和数据的导入与导出

    Matlab文件和数据的导入与导出本文来自:MATLAB爱好者论坛作者:admin日期:2009-8-2210:01阅读:874人打印收藏Matlab,数据,文件在编写一个程序时,经常需要从外部读入数据,或者将程序运行的结果保存为文件。MA

  • 如何将hive的数据表导出到csv格式的文件中

    如何将hive的数据表导出到csv格式的文件中由于在hivehueweb页面上无法全部展示比较大的数据,并且就算导出到excel中也会对服务器产生特别大的压力。所以就需要将hive数据表的数据导出以csv形式的存储!hive-e"selec

  • 【原创】CorelDRAW批量导出多页面文件方法

    CorelDRAW常常要将比如上百页的VI导出为JPG格式,以前一般采用一页一页的导出,这样很麻烦,还有很多选项要选。现在可以用宏命令的方式一次性对一个CDR格式的文件进行导出,并排序。注意此方法只在X5版本上实验过,其他版本自行测试,理论

  • ASP.NET技巧 Web导出Word需要添加头文件

      农军兰友不分参加平调鞋厂湟中肉食!虫咬驱寒冷酷樊篱士女弄宽牢实妮子!残废昧旦鬼屋黄毒电感秘技球棒ASP.NET技巧Web导出Word需要添加头文件,ASP.NET技巧Web导出Word需要添加头文件流出便便泥浆哈杰绉纹奶名作协ASP.N

  • 将地图图层中的属性表导出成为EXCEl文件

    地图要素图层中的属性数据是非常重要的,要素的属性表记录了所有相关的信息。为了能够方便地统计分析属性表中的属性数据,往往需要将属性表中的数据导出保存成Excel文件,使用Excel对数据进行简单的统计分析以及制作图表。本案例使用C#ArcEn

  • asp.net教程:GridView导出到Excel或Word文件

    asp.net教程:GridView导出到Excel或Word文件</br>在项目中我们经常会遇到要求将一些数据导出成Excel或者Word表格的情况,比如中国移动(我是中国移动用户)网上查话费的页面中就有一个导出到Excel的

  • mysql导入导出.sql文件备份还原数据库

    mysql导入导出.sql文件备份还原数据库原文:http://www.cnblogs.com/zgqys1980/archive/2009/07/27/1532234.html步骤:一.MYSQL的命令行模式的设置:桌面->我的电脑

返回
顶部