只需两步,rails支持CSV格式导出
一、Controller最上方添加 require 'csv'
二、方法里面添加
format.csv do
csv_string = CSV.generate do |csv|
csv << ["Name", "Created At"]
@people.each do |person|
csv << [person.name, person.created_at]
end
end
render :text => csv_string
end
最终代码:
require 'csv'
class PeopleController < ApplicationController
def index
@people = Person.all
respond_to do |format|
format.html # index.html.erb
# 对应url http://localhost:222/people.json
format.json { render json: @people }
# 对应url http://localhost:222/people.xml
format.xml { render :xml => @people}
format.atom { @feed_title = "My event list" } # index.atom.builder
# 添加csv格式
format.csv do
csv_string = CSV.generate do |csv|
csv << ["Name", "Created At"]
@people.each do |person|
csv << [person.name, person.created_at]
end
end
render :text => csv_string
end
end
end
最后浏览器http://localhost:3000/people.csv 不过用excel打开UTF-8格式的csv汉字会显示乱码,需要转换为GBK
只需两步,rails支持CSV格式导出的更多相关文章
- 【代码更新】单细胞分析实录(21): 非负矩阵分解(NMF)的R代码实现,只需两步,啥图都有
		
1. 起因 之前的代码(单细胞分析实录(17): 非负矩阵分解(NMF)代码演示)没有涉及到python语法,只有4个python命令行,就跟Linux下面的ls grep一样的.然鹅,有几个小伙伴不 ...
 - 只需两步!Eclipse+Maven快速构建第一个Spring Boot项目
		
随着使用Spring进行开发的个人和企业越来越多,Spring从一个单一简介的框架变成了一个大而全的开源软件,最直观的变化就是Spring需要引入的配置也越来越多.配置繁琐,容易出错,让人无比头疼, ...
 - 只需两步在Linux系统安装百度网盘--Ubuntu20
		
Linux Ubuntu系统安装百度网盘 百度网盘已支持Linux系统下载和使用.使用Linux系统下载并安装一个百度网盘是非常简单的,只需要以下两个步骤: 第一步 进入官网下载.deb类型的百度网盘 ...
 - LoTVideo:只需两步,让HTML5原生态的Video茁壮成长
		
开源地址:https://github.com/dunitian/LoTHTML5/tree/master/LoTVideo 第一步引入lotvideo.js(先确认在这个前面引入了jq包) 第二步: ...
 - 如何将cordova导入Android studio,只需两步即可
		
Cordova的技术交流新群 微信公众号:
 - cordova 实现拨打电话-只需两步(H5)
		
cordova 实现拨打电话: 第一步配置conf.xml在cordova中所有的URL Schemes 都是服从于白名单的,所以a tel 在这无法正常使用.解决方法是在项目config.xml中添 ...
 - eolinker——分享项目只需两步
		
登陆后打开项目概况 然后进入到分享项目界面,可根据自己的需求进行设置
 - CentOS安装Yarn只需两步就搞定
		
Yarn 是一个依赖管理工具.它能够管理你的代码,并与全世界的开发者分享代码.Yarn 是高效.安全和可靠的,你完全可以安心使用.代码是通过包(有时也被称为组件). 在每一个包中会定义一个 packa ...
 - 只需两步获取任何微信小程序源码
		
http://baijiahao.baidu.com/s?id=1601969343738344659&wfr=spider&for=pc
 
随机推荐
- CentOS查看线程、硬盘、内存、cpu、网卡
			
1.查看硬盘 [mushme@investide ~]$ df -ah 2.查看内存 [mushme@investide ~]$ free -m 3.监控系统的负载 w 查看当前系统的负载,详细 ...
 - CF#538(div2) B. Yet Another Array Partitioning Task 【YY】
			
任意门:http://codeforces.com/contest/1114/problem/B B. Yet Another Array Partitioning Task time limit p ...
 - [19/04/04-星期四] IO技术_CommonsIO(通用IO,别人造的轮子,FileUtils类 操作文件 & IOUtilsl类 操作里边的内容 )
			
一.概念 JDK中提供的文件操作相关的类,但是功能都非常基础,进行复杂操作时需要做大量编程工作.实际开发中,往往需要 你自己动手编写相关的代码,尤其在遍历目录文件时,经常用到递归,非常繁琐. Apac ...
 - mybatis关联集合List&分布查询传递多列值
			
场景:查询部门的同时,要求查询此部门下的所有用户. 部门(Department) private Integer id; private String departmentName; private ...
 - 【Linux学习笔记】Linux-CentOS下安装Redis
			
虚机装了个Linux,尝试安装了一下Redis这款NoSQL数据库玩玩,作为Linux小白,我安装的是有可视化桌面的CentOS,所以不是纯命令行操作,怎么方便怎么来嘛~ 1.官网下载Redis到指定 ...
 - 课时22.br标签(掌握)
			
br标签,如何在html中换行,可以使用br标签 1.br标签的作用:换行 2.br标签的格式:<br> 3.br标签的注意点: 3.1多个br标签可以连续使用,使用了多个br标签就会换多 ...
 - 管理Django1.9静态文件static
			
管理Django1.9静态文件static 网站通常需要增加图片.JavaScript.或者CSS等文件提供服务.在Django中,我们把这些文件称为“静态文件”(static files).Djan ...
 - 【oracle使用笔记1】SQL报的常见错误
			
项目中使用最多的就是oracle数据库了,在实际的开发中书写SQL时遇到过许多错误,趁着现在不太忙,把之前遇到的总结一下,以后遇到的会持续更新总结. 1. ORA-00001:违反唯一约束条件 [原因 ...
 - Json中dumps、loads、dump、load函数实例讲解
			
1.dumps() 1. json.dumps() 用于将字典(dic)类型的数据转成字符串(str),直接将dict类型的数据写入json文件中会发生报错,因此在将数据写入时需要用到该函数. imp ...
 - Hibernate基础入门
			
Hibernate是一个开放源代码的对象关系映射框架,它将POJO与数据库表之间建立映射关系.是全自动的ORM框架,可以自动生成SQL语句并自动执行.它对JDBC进行了非常轻量级的封装,使程序员可以随 ...