本帖是上篇
在Rails项目中导入excel 导出excel 实用rails解析excel的姊妹后继,主要介绍一个导入excel的ruby插件
插件importex
安装
gem install importex
或者rails plugin用
./script/plugin install git://github.com/ryanb/importex.git
创建基于Importex::Base的类
require 'importex'
class Product < Importex::Base
column "Name", :required => true
column "Price", :format => /^\d+\.\d\d$/, :required => true
column "Amount in Stock", :type => Integer
column "Release Date", :type => Date
column "Discontinued", :type => Boolean
end
导入excel文件
Product.import("path/to/products.xls")
不能处理定制的负责excel数据比如有图,
预期第一行是字段名,之后都是数据。
使用导入数据
products = Product.all
products.first["Discontinued"] # => false
all代表所有的数据, 各个字段作为hash
数据验证和容错处理
当excel的数据格式不能处理的时候,或者数据格式不符合时
begin
Product.import(...)
rescue Importex::ImportError => e
puts e.message
end
用户定义数据类型
在使用这个插件的时候,允许导入的字段指向Ruby对象,例如,下面的例子,可以增加一个字段表示上面导入Product的类型情况
class Category < ActiveRecord::Base
def self.importex_value(str)
find_by_name!(str)
rescue ActiveRecord::RecordNotFound
raise Importex::InvalidCell, "No category with that name."
end
end
class Product < Importex::Base
column "Category", :type => Category
end
分享到:
相关推荐
在Ruby中操作Excel文件主要是通过`win32ole`库来实现的,这个库允许Ruby程序与Windows操作系统中的Office应用程序进行交互,如Microsoft Excel。以下是关于如何使用Ruby操作Excel的详细步骤和知识点: 1. **引入win...
标题 "用ruby读excel文件生成xml文件" 描述的是一项技术任务,即使用Ruby编程语言来处理Excel文件,并将其内容转换成XML格式。这在数据迁移、格式转换或与不支持Excel格式的应用程序进行数据交换时非常有用。Ruby库...
可以将Ruby中的时间对象转换为字符串并写入Excel单元格,这样可以保持日期时间的格式。 ```ruby worksheet.Range('e2').Value = Time.now.strftime('%d/%m/%Y') ``` #### 8. 运行Excel内置功能 除了基本的读写...
Ruby源代码,读写excel
使用RUBY语言将TXT文件中的内容写入到excel中!
RoR是一个流行的开源Web开发框架,而Ruby语言本身支持与Microsoft Excel文件交互,这在数据导入导出、报表生成等场景中非常有用。 描述虽然简洁,但我们可以推断出它可能是指如何在Ruby中利用库来读取、写入或操作...
ruby对excel中的数据进行读取,统计进行计算,重新写入另一个excel表格。存在读取excel数据,进行数量统计,分隔符操作,hash函数统计,取几位小数以及百分比。windows电脑可用,无需安装依赖包,直接使用ruby语言...
为女朋友实现的,免去她不停...读取大量工作表的中的数据,再把这些数据以一定的格式填写到工作表中去,并保存,这其中数据的读取是很麻烦的事,需要不停的匹配和刷选,很有参考价值。如果使用,只需安装ruby就可以的!
Ruby源代码,批量导出数据到excel文件脚本。
Ruby Ruby Ruby Ruby Ruby Ruby
在Ruby编程语言中,从FM网站获取音频并将其转换为MP3格式涉及到多个步骤和相关的技术。这个过程通常包括网络请求、数据解析、音频下载以及音频编码转换。下面将详细介绍这些知识点。 首先,你需要了解如何使用Ruby...
1. **格式检查**:验证Localizable.strings文件中的键值对是否按照正确的格式编写。例如,每个键值对应该遵循“"key" = "value";”的格式,并且保持正确的缩进和结束分号。 2. **一致性检测**:确保所有Localizable...
redlock-rb, 在 ruby 中,基于Redlock的分布式锁实现 redlock ruby - 中的分布式锁这个 ruby 库实现了基于redis的分布式锁管理器算法( ) 。要创建锁定管理器:dlm = Redlock.new("redis://127.0.0.1:6379","redis
ruby DBI ruby DBI ruby DBIruby DBI ruby DBI ruby DBIruby DBI ruby DBI ruby DBIruby DBI ruby DBI ruby DBIruby DBI ruby DBI ruby DBIruby DBI ruby DBI ruby DBIruby DBI ruby DBI ruby DBIruby DBI ruby DBI ...
由于想操作excel文件,对其的数据进行修改,但是因为没有office2003(价格原因)所以无法直接修改。所以调查了一下,有很多日本人做好的gem(spreadsheet.gem)可以直接拿来用。也就可以不安装office就可以对excel...
而`ruby-build`是`rbenv`的一个插件,它的主要功能是编译并安装各种版本的Ruby。 首先,你需要在你的系统上安装`rbenv`。这通常涉及克隆`rbenv`的GitHub仓库,并将其添加到PATH环境变量中。对于Unix或类Unix系统...
Ruby超快速Excel编写器 require 'fast_excel' workbook = FastExcel . open ( "hello_world.xlsx" , constant_memory : true ) workbook . default_format . set ( font_size : 0 , # user's default font_family ...
Ruby on Rails 现在带来了网页开发风暴; 现在国内接触这方面资源较少,php还是主流,可是ruby崛起是必然。 笔者在ruby on Rails 学习中发现一个扩展性极好的模板,spree 工作之余,自己编写了基于这个模板的商品...
Ruby 与编码 常见问题 * 乱码的问题 * Ruby 中 Unable to convert "\x89" from ASCII-8BIT to UTF8 *Incompatible character encodings: ASCII- 8BIT and UTF-8
本教程针对中文用户,旨在帮助初学者快速入门并掌握Ruby编程的基础知识。 PDF教程将涵盖以下核心知识点: 1. **Ruby基础**:包括变量(局部变量、实例变量、类变量和全局变量)、常量、数据类型(字符串、数字、...