浏览 1727 次
锁定老帖子 主题:把数据导入excel
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-11-01
最后修改:2009-12-10
首先下个插件excel,在项目根目录执行 ruby script/plugin install http://svn.napcsweb.com/public/excel 此时就会在项目的vendor目录下多个文件夹。里面有个excel.rb,这就是我们要用的核心方法。 class User < ActiveRecord::Base USERTYPE = [["普通学员", 0], ["讲师", 1], ["系统管理员", 2]] end
接下来,再看看控制器的实现 class UserController < ApplicationController include ActiveSupport def export users = User.all array = Array.new for i in 0...users.length item = OrderedHash.new item["姓名"] = users[i].name item["用户类型"] = User::USERTYPE.rassoc(users[i].usertype.to_i)[0] item["加入时间"] = users[i].created_at.to_s(:db) array << item end e = Excel::Workbook.new e.addWorksheetFromArrayOfHashes("Users", array) headers['Content-Type'] = "application/vnd.ms-excel" render :text => e.build end end
现在就ok了,但是注意OrderedHash,这个hash是有序的,别慌,需要在控制器里面加入include ActiveSupport,这样OrderedHash才可以用。
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |