zoukankan      html  css  js  c++  java
  • rails中输出excel

    首先下个插件,在你项目根目录
    ruby script/plugin install http://svn.napcsweb.com/public/excel
    此时就会唉vendor下多个文件夹,注意。里面有个excel.rb,这就是我们的核心方法
    然后转到我们的控制器
    #导出Excel开始
      def export
        @ala_users = User.find(:all)
        @count = Record.count(:conditions => [' ala_organization_id = ? and ala_user_id = ? ',session[:organization_id],session[:user_id]]) 
        @count_pass = Record.count(:conditions => [' ala_organization_id = ? and ala_user_id = ? and status = ? ',session[:organization_id],session[:user_id],'6'])        
        array = Array.new
        for i in 0..@ala_users.length-1
          item = OrderedHash.new
          item["姓名"] = @ala_users[i].name
          item["部门"] = @ala_users[i].ala_department.name if @ala_users[i].ala_department
          item["职位"] = @ala_users[i].positions
          item["学时"] = @ala_users[i].learning_times
          item["学分"] = @ala_users[i].learning_credits
          item["报名课程数"] = @count[i]
          item["通过课程数"] = @count_pass[i]
          array << item
        end
        e = Excel::Workbook.new
        e.addWorksheetFromArrayOfHashes("Books info", array)
        headers['Content-Type'] = "application/vnd.ms-excel"
        headers['Content-Disposition'] = 'attachment; filename="excel-export.xls"'
        headers['Cache-Control'] = ''
        render :text=>e.build
      end
    现在就ok了,但是注意OrderedHash这个hash,这个hash是有序的,爽吧!别慌,需要在控制器里面导入
    require "active_support"
    include ActiveSupport
    OrderedHash才可已用

  • 相关阅读:
    POJ 3126 Prime Path
    POJ 2429 GCD & LCM Inverse
    POJ 2395 Out of Hay
    【Codeforces 105D】 Bag of mice
    【POJ 3071】 Football
    【POJ 2096】 Collecting Bugs
    【CQOI 2009】 余数之和
    【Codeforces 258E】 Devu and Flowers
    【SDOI 2010】 古代猪文
    【BZOJ 2982】 combination
  • 原文地址:https://www.cnblogs.com/zhouwenwu/p/2373746.html
Copyright © 2011-2022 走看看