在Rails的项目中如
何处理excel呢?
节省时间小导读
如果, 只需要简单在rails中
导出excel => 小跳并阅读本帖
如果, 需要导出并处理格式 => Rails导出excel的
例子
如果, 导入excel文件并检查数据合法性 => Ruby 导入excel 并检查格式
如果, 处理的逻辑稍微负责要在代码里处理excel单元 => roo 在ruby中处理和操作excel
如果, 你没什么事只是来打酱油的 => 这里
如果, 您是爬虫 + 机器人 => 这里
其它 => http://hlee.javaeye.com
本篇致力于更新2009年3月,本空间的一篇ruby处理excel方法介绍
rails导出excel插件 spreadsheet的标准使用
时间飞快的过去,Rails在发展,很多以前标准的办法也在发生着变化,新的出现,不适合的慢慢销声匿迹...
(注:本文老猪是基于ruby 1.8.7, rails 2.3.8)
在Rails中处理excel,主要说导入和导出
导出excel是很常用的功能,在web项目中,经常会用到实现这样的功能。针对
Rails项目的导入可以考虑如下方案:
设计的相当简单。
to_xls插件
该插件的用法就是提供一个方法,让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?)