用Ruby读取Excel文件
这个向导文档,将保证演示一个用ruby读取excel文件的例子。
1. 安装Parseexcel插件
Parseexcel是一个ruby端的perl解析excel的插件。安装过程可以通过gem简洁执行,如下:
如果,你恰好不能gem网络安装,那么请动用你小车或者快雷,从 这里 下载tar包安装。
那么,现在请记着因为我们是安装的一个gem的类库,我们在控制台调用带有parseexcel功能的script的时候,要加上-rubygems的参数,以便可以使用这个gem类库。
2. 使用Parseexcel
实际上,Parseexcel的使用设计相当简洁明了。简单的调用却可以达到你的目的。
2.1 读取excel文件
这个命令将返回一个存在的excel文件的引用,那么,我们还应该确定我们应该在那个表单读取。
2.2 确定excel表单
这里表示得到第一个表单,当然也可以使用循环或者迭代遍历excel文件的所有表单。
2.3 遍历excel的行和列读取数据
worksheet对象支持很漂亮简洁的方法可以方便的遍历扁担的所有行列,如下:
2.4 读取单元数据的方法
这里是大概的介绍,不太明白不要紧,看下面完整例子就清楚了。
3. 一个基本的用script读取excel文件的例子
4. 执行脚本
使用该脚本时,注意要加-rubygems的参数以便可以加载parseexcel的类库,执行命令如下:
这个向导文档,将保证演示一个用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