用Ruby读取Excel文件
这个向导文档,将保证演示一个用ruby读取excel文件的例子。
1. 安装Parseexcel插件
Parseexcel是一个ruby端的perl解析excel的插件。安装过程可以通过gem简洁执行,如下:
gem install parseexcel
如果,你恰好不能gem网络安装,那么请动用你小车或者快雷,从
这里下载tar包安装。
$ ruby install.rb config
$ ruby install.rb setup
($ su)
# ruby install.rb install
那么,现在请记着因为我们是安装的一个gem的类库,我们在控制台调用带有parseexcel功能的script的时候,要加上-rubygems的参数,以便可以使用这个gem类库。
2. 使用Parseexcel
实际上,Parseexcel的使用设计相当简洁明了。简单的调用却可以达到你的目的。
2.1 读取excel文件
Spreadsheet::ParseExcel.parse(“带路径的excel文件名")
这个命令将返回一个存在的excel文件的引用,那么,我们还应该确定我们应该在那个表单读取。
2.2 确定excel表单
worksheet = workbook.worksheet(0)
这里表示得到第一个表单,当然也可以使用循环或者迭代遍历excel文件的所有表单。
2.3 遍历excel的行和列读取数据
worksheet对象支持很漂亮简洁的方法可以方便的遍历扁担的所有行列,如下:
worksheet.each { |row|
j=0
i=0
if row != nil
row.each { |cell|
if cell != nil
contents = cell.to_s('latin1')
puts "Row: #{j} Cell: #{i} #{contents}"
end
i = i+1
}
j = j +1
end
}
2.4 读取单元数据的方法
cell.to_s('latin1') #读取字符串
cell.to_s('latin1') #读取float值
cell.to_i #读取int值
cell.date #读取一个时间值
cell = row.at(3) #读取特定值
这里是大概的介绍,不太明白不要紧,看下面完整例子就清楚了。
3. 一个基本的用script读取excel文件的例子
require 'parseexcel'
#从命令行输入要打开的excel文件名
workbook = Spreadsheet::ParseExcel.parse(ARGV[0])
#得到第一个表单
worksheet = workbook.worksheet(0)
#遍历行
worksheet.each { |row|
j=0
i=0
if row != nil
#遍历该行非空单元格
row.each { |cell|
if cell != nil
#取得单元格内容为string类型
contents = cell.to_s('latin1')
puts "Row: #{j} Cell: #{i}> #{contents}"
end
i = i+1
}
end
}
4. 执行脚本
使用该脚本时,注意要加-rubygems的参数以便可以加载parseexcel的类库,执行命令如下:
ruby -rubygems excelparse.rb myfile.xls
其中myfile.xls为当前目录,要读取的excel文件名
分享到:
相关推荐
ruby对excel的操作 详细描述ruby对excel的操作
ruby对excel中的数据进行读取,统计进行计算,重新写入另一个excel表格。存在读取excel数据,进行数量统计,分隔符操作,hash函数统计,取几位小数以及百分比。windows电脑可用,无需安装依赖包,直接使用ruby语言...
通过传递指定键,读取cfg文件(可手动修改)中的键值
NULL 博文链接:https://lj6684.iteye.com/blog/418326
NULL 博文链接:https://huigou.iteye.com/blog/1154745
关于使用ruby对excel进行操作的内容,比较详细。
Ruby源代码,读写excel
使用RUBY语言将TXT文件中的内容写入到excel中!
使用ruby解析awdb离线库使用ruby解析awdb离线库使用ruby解析awdb离线库使用ruby解析awdb离线库使用ruby解析awdb离线库使用ruby解析awdb离线库使用ruby解析awdb离线库使用ruby解析awdb离线库使用ruby解析awdb离线库...
Ruby 与编码 常见问题 * 乱码的问题 * Ruby 中 Unable to convert "\x89" from ASCII-8BIT to UTF8 *Incompatible character encodings: ASCII- 8BIT and UTF-8
ruby-git, ruby/Git是一个 ruby 库,可以通过将系统调用包装到Git二进制文件来创建读取和操作Git存储库 用于 ruby的 Git库在 ruby 中使用Git的库。主页项目源代码的Git public 位于:...
KanjiReader允许您使用ruby读取用汉字写的单词的一部分 安装 将此行添加到您的应用程序的Gemfile中: echo "gem 'KanjiReader'" >> Gemfile && bundle 或将其自己安装为: $ gem install KanjiReader 用法 首先,...
embulk-input-roo-excel 这是读取 xlsx 文档的输入插件。 安装 java -jar embulk.jar gem intall embulk-input-roo-excel 您还需要 roo gem 来读取 xlsx 文档。 如果这些包没有自动安装,也安装。 java -jar ~/...
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框架实现一个p2p交易系统
Ruby源代码,批量导出数据到excel文件脚本。
excel lib ror ruby
ruby代码ruby代码ruby代码ruby代码ruby代码ruby代码ruby代码ruby代码
由于想操作excel文件,对其的数据进行修改,但是因为没有office2003(价格原因)所以无法直接修改。所以调查了一下,有很多日本人做好的gem(spreadsheet.gem)可以直接拿来用。也就可以不安装office就可以对excel...
使用纯 Ruby 测量图像大小。格式:apng, bmp, cur, gif, ico, j2c, jp2, jpeg, jpx, mng, pam, pbm, pcx, pgm, png, ppm, psd, svg, swf, tiff, webp, xbm, xpm. 更多详情、使用方法,请下载后阅读README.md文件