在Rails项目中导入excel 导出excel 实用rails解析excel

在Rails的项目中如何处理excel呢?

节省时间小导读
如果, 只需要简单在rails中导出excel => 小跳并阅读本帖
如果, 需要导出并处理格式 => [url=http://hlee.iteye.com/blog/749983]Rails导出excel的例子[/url]
如果, 导入excel文件并检查数据合法性 => [url=http://hlee.iteye.com/blog/749976]Ruby 导入excel 并检查格式[/url]
如果, 处理的逻辑稍微负责要在代码里处理excel单元 => [url=http://hlee.iteye.com/blog/749990]roo 在ruby中处理和操作excel[/url]
如果, 你没什么事只是来打酱油的 => [url=http://blog.rubyee.org]这里[/url]
如果, 您是爬虫 + 机器人 => [url=http://robbin.iteye.com]这里[/url]
其它 => [url]http://hlee.iteye.com[/url]

[color=red]更新[/color]:2011年4月
Rails 3.0.7 ruby 1.9.2 to_xls 方便可以用

本篇致力于更新2009年3月,本空间的一篇ruby处理excel方法介绍
[url=http://hlee.iteye.com/blog/356510]rails导出excel插件 spreadsheet的标准使用[/url]

时间飞快的过去,Rails在发展,很多以前标准的办法也在发生着变化,新的出现,不适合的慢慢销声匿迹...
(注:本文[url=http://hlee.iteye.com]老猪[/url]是基于ruby 1.8.7, rails 2.3.8)
在Rails中处理excel,主要说导入和导出

导出excel是很常用的功能,在web项目中,经常会用到实现这样的功能。针对Rails项目的导入可以考虑如下方案:
设计的相当简单。

[size=large]to_xls插件[/size]

该插件的用法就是提供一个方法,让Rails返回数据的时候,像调用to_json或者to_xml一样调用to_xls。(听起来就很方便)

安装插件

./script/plugin install git://github.com/arydjmal/to_xls.git


注册mime type


#config/initializers/mime_types.rb

Mime::Type.register "application/vnd.ms-excel", :xls


导出接口



class UserController < ApplicationController

def index
@users = User.all

respond_to do |format|
format.html
format.xml { render :xml => @users }
format.xls { send_data @users.to_xls }
end
end

def show...
def new...
def edit...
def create...
def update...
def destroy...

end



一些定制

也可以在导出的时候选择导出什么字段


@users = User.all

#
# defaults are export headers and all fields
#

@users.to_xls
@users.to_xls(:only => [:last_name, :role])
@users.to_xls(:headers => false)
@users.to_xls(:except => [:last_name, :role])
@users.to_xls(:methods => :admin?)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值