使用parseexcel Ruby读取Excel

用Ruby读取Excel文件

这个向导文档,将保证演示一个用ruby读取excel文件的例子。

1. 安装Parseexcel插件

Parseexcel是一个ruby端的perl解析excel的插件。安装过程可以通过gem简洁执行,如下:
Ruby代码 收藏代码

gem install parseexcel

如果,你恰好不能gem网络安装,那么请动用你小车或者快雷,从这里下载tar包安装。

Ruby代码 收藏代码

$ ruby install.rb config
$ ruby install.rb setup
($ su)
# ruby install.rb install

那么,现在请记着因为我们是安装的一个gem的类库,我们在控制台调用带有parseexcel功能的script的时候,要加上-rubygems的参数,以便可以使用这个gem类库。

2. 使用Parseexcel

实际上,Parseexcel的使用设计相当简洁明了。简单的调用却可以达到你的目的。
2.1 读取excel文件

Ruby代码 收藏代码

Spreadsheet::ParseExcel.parse(“带路径的excel文件名")

这个命令将返回一个存在的excel文件的引用,那么,我们还应该确定我们应该在那个表单读取。
2.2 确定excel表单

Ruby代码 收藏代码

worksheet = workbook.worksheet(0)

这里表示得到第一个表单,当然也可以使用循环或者迭代遍历excel文件的所有表单。

2.3 遍历excel的行和列读取数据

worksheet对象支持很漂亮简洁的方法可以方便的遍历扁担的所有行列,如下:
Ruby代码 收藏代码

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 读取单元数据的方法

Ruby代码 收藏代码

cell.to_s('latin1') #读取字符串
cell.to_s('latin1') #读取float值
cell.to_i #读取int值
cell.date #读取一个时间值
cell = row.at(3) #读取特定值

这里是大概的介绍,不太明白不要紧,看下面完整例子就清楚了。

3. 一个基本的用script读取excel文件的例子

Ruby代码 收藏代码

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代码 收藏代码

ruby -rubygems excelparse.rb myfile.xls

其中myfile.xls为当前目录,要读取的excel文件名


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值