`

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

阅读更多
在Rails的项目中如何处理excel呢?

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

更新:2011年4月
Rails  3.0.7 ruby 1.9.2 to_xls 方便可以用

本篇致力于更新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?)



5
1
分享到:
评论
4 楼 dadadada2x 2012-04-26  
有个问题想请教一下,导入excel的时候,我如何能判断excel的编码格式?
3 楼 angjunwen 2011-10-13  
github上也是这么写的,但是不知道怎么使用,按照你所说的好像不能把数据导出到excel 文件中。
2 楼 kewin 2010-12-03  
hh  谢谢诶  现在在使用哦
1 楼 lolomarx 2010-11-28  
有没有类似的可以导入word,导出word的方法呢?

相关推荐

    Rails项目源代码

    在Rails中,可以使用Devise这样的gem来处理用户身份验证,提供注册、登录、密码重置等功能。用户模型通常会包含确认令牌、加密密码等相关字段。 4. **数据库和ActiveRecord**: Rails使用ActiveRecord作为ORM,它...

    to_xls-rails:将Rails ActiveRecord或Mongid数据导出到Excel文件

    在您的Gemfile中: gem 'to_xls-rails' # Last officially released gem # gem "to_xls-rails", :git =&gt; "git://github.com/liangwenke/to_xls-rails.git" # Track git repo 或者,作为宝石安装: gem install to...

    rails 项目起步示例

    - ** erb**:ERB(Embedded Ruby)是Rails中的视图模板语言,允许在HTML中嵌入Ruby代码。 - **Helper**:辅助方法,提供在视图中复用的函数。 - **Controller**:处理HTTP请求,调用模型并决定如何呈现视图。 - *...

    poi导出excel需要的jar

    Apache POI 是一个开源项目,专门...总结起来,"poi导出excel需要的jar"是指在Java项目中使用Apache POI库导出Excel文件时,需要确保正确地包含了Apache POI的相关依赖,并且理解如何使用其API来创建、操作Excel文档。

    Rails的中文乱码问题

    在Rails中,可以在`config/application.rb`或`config/environments/development.rb`中设置`config.encoding = "utf-8"`。 4. **数据库连接**:确认数据库连接器(如ActiveRecord)的连接参数中包含正确的字符集配置...

    rails-exporter-源码.rar

    《Rails Exporter 源码解析》 Rails Exporter 是一个用于 Rails 应用程序的开源工具,主要用于数据导出功能。源码分析将帮助我们深入理解其内部工作原理,以便更好地利用它来优化我们的应用。 一、Rails 框架基础 ...

    使用Aptana+Rails开发Rails Web应用(中文)

    在弹出的对话框中,为项目命名,选择Rails版本,以及项目的保存位置。确认设置无误后,点击“Finish”开始创建项目。 Rails项目创建后,Aptana会自动生成基础的目录结构,包括app、config、db、lib等关键文件夹。在...

    在rails中 使用RSpec生产CHM文档

    标题 "在Rails中使用RSpec生产CHM文档" 暗示了这个话题是关于如何在Ruby on Rails(简称Rails)框架中使用RSpec测试工具来创建帮助文档,特别是以CHM(Microsoft Compiled HTML Help)格式。CHM文件是一种常见的...

    rails中使用javascript日期控件

    这篇博文“rails中使用javascript日期控件”探讨了如何在Rails应用中集成和使用JavaScript日期选择器,以实现更高效、友好的前端交互。 首先,我们需要了解JavaScript日期控件的基本概念。JavaScript是一种在客户端...

    rails_handsontable:基于浏览器的Excel在rails gem中。 Excel可以以html显示。 创建此gem的目的是用于扶手的handontable

    基于浏览器的Excel在rails gem中。 Excel可以以html显示RailsHandsontable 该gem是为rails用户创建的。安装将此行添加到应用程序的Gemfile中: gem 'rails_handsontable'然后执行: $ bundle或将其自己安装为: $ ...

    Rails 中mongrel的安装

    在Rails项目中安装Mongrel通常通过RubyGems进行,这是一个Ruby的包管理器。首先确保RubyGems已经安装,然后在命令行执行以下命令: ```bash gem install mongrel ``` 安装完成后,可以通过`mongrel_rails`命令来...

    Ruby on Rails中文指南

    7. **哈希与符号化键(Hashes and Symbolized Keys)**:在Rails中,使用符号作为哈希键可以提高性能,因为符号是不可变的,且在内存中只存储一次。 8. **部分视图(Partials)**:部分视图是可重用的视图代码块,...

    rails的经典学习项目

    Rails项目通常包括数据库设计、控制器逻辑、视图模板以及模型业务规则等多个部分,这都是开发者在深入学习过程中必须掌握的核心概念。 描述中重复提到"ruby on rails打包的程序",这意味着提供的压缩包可能包含了一...

    rails指南 中文版

    5. **Gemfile与Bundler**:Rails项目通常使用Gemfile来管理依赖库,Bundler工具则用于安装和管理这些依赖,确保在不同环境下项目的运行一致性。 6. **Scaffolding**:Rails提供了快速生成基本CRUD(Create, Read, ...

    windows下配置netbeans开发rails

    5. **Gemfile和bundle安装**:在Rails项目的根目录下,你会看到一个`Gemfile`,这里列出了项目所需的所有Gem(Ruby的库)。运行`bundle install`命令,它会根据Gemfile中的依赖关系安装所有必要的库和框架。 6. **...

    Rails101_by_rails4.0

    此外,书中还介绍了一些Rails中的高级概念,如Strong Parameters(强参数),它在Rails 4.0版本中引入,用于解决之前版本中的参数篡改问题,从而帮助开发者安全地处理外部提交的数据。 通过一系列的教学内容,包括...

    Ruby-Webpacker使用Webpack在Rails中管理类似app的JavaScript模块

    在Rails中,Webpacker替代了原先的Sprockets,后者主要用于处理JavaScript和CSS的依赖管理。Webpacker的核心是Webpack,这是一个流行的前端模块打包器,能够处理JavaScript、CSS、图片等各种静态资源,将它们转换、...

    Ruby-GoOnRails使用Rails生成器来生成一个Golang应用

    在Rails中,可以修改`config/application.rb`或`config/environments/development.rb`等文件来设置相关选项。 ### 7. 使用`go_on_rails`生成其他Go组件 除了生成整个Go应用,`GoOnRails`还可以生成模型、控制器等...

    Ruby_On_Rails笔记

    在Rails中,视图文件通常位于app/views目录下,并与对应的控制器类名相关联。例如,与HelloWorldController相关联的视图文件是say.rhtml,位于app/views/hello_world目录下。在视图文件中,我们可以使用Ruby代码来...

Global site tag (gtag.js) - Google Analytics