论坛首页 编程语言技术论坛

把数据导入excel

浏览 1727 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-11-01   最后修改:2009-12-10

首先下个插件excel,在项目根目录执行

ruby script/plugin install http://svn.napcsweb.com/public/excel


此时就会在项目的vendor目录下多个文件夹。里面有个excel.rb,这就是我们要用的核心方法。
然后转到model

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才可以用。

 

论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics