用Ruby读取Excel文件  这个向导文档,将保证演示一个用ruby读取excel文件的例子。  1. 安装Parseexcel插件   Parseexcel是一个ruby端的perl解析excel的插件。安装过程可以通过gem简洁执行,如下: 

Ruby代码  

ruby 表格 ruby excel_脚本

1. gem install parseexcel

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

Ruby代码  

1. $ ruby install.rb config   
2. $ ruby install.rb setup   
3. ($ su)   
4. # ruby install.rb install

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

  2. 使用Parseexcel

 

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

    2.1 读取excel文件

 

Ruby代码  

ruby 表格 ruby excel_脚本

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

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

    2.2 确定excel表单

 

Ruby代码  

ruby 表格 ruby excel_脚本

    1. worksheet = workbook.worksheet(0)

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

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

     

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

    Ruby代码  

    1. worksheet.each
    2.   j=0  
    3.   i=0  
    4. if row != nil
    5. each
    6. if cell != nil
    7. 'latin1')  
    8. "Row: #{j} Cell: #{i} #{contents}"
    9. end
    10.     i = i+1  
    11.   }  
    12.   j = j +1  
    13. end
    14. }

        2.4 读取单元数据的方法

     

    Ruby代码  

    ruby 表格 ruby excel_脚本

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

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

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

     

    Ruby代码  

    1. require 'parseexcel'
    2.   
    3. #从命令行输入要打开的excel文件名
    4. workbook = Spreadsheet::ParseExcel.parse(ARGV[0])  
    5.   
    6. #得到第一个表单
    7. worksheet = workbook.worksheet(0)  
    8.   
    9. #遍历行
    10. worksheet.each
    11.   j=0  
    12.   i=0  
    13. if row != nil
    14. #遍历该行非空单元格
    15. each
    16. if cell != nil
    17. #取得单元格内容为string类型
    18. 'latin1')  
    19. "Row: #{j} Cell: #{i}> #{contents}"
    20. end
    21.     i = i+1  
    22.   }  
    23. end
    24. }

    4. 执行脚本

     

    使用该脚本时,注意要加-rubygems的参数以便可以加载parseexcel的类库,执行命令如下: 

    Ruby代码  

    1. ruby -rubygems excelparse.rb myfile.xls  
    2.