`

使用parseexcel Ruby读取Excel

阅读更多
用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文件名
分享到:
评论
3 楼 y.long 2013-03-06  
中文有乱码
2 楼 jinleileiking 2011-02-16  
中文有问题。。。
1 楼 yangzhihuan 2009-03-27  
很简单易用啊.

相关推荐

    ruby对excel的操作 详细操作

    以下是关于如何使用Ruby操作Excel的详细步骤和知识点: 1. **引入win32ole库** 首先,你需要在Ruby脚本的开头引入`win32ole`库。这行代码`require 'win32ole'`使得Ruby程序能够调用Excel的API。 2. **启动Excel...

    用ruby读excel文件生成xml文件

    Ruby库如`roo`可以方便地读取Excel文件,而`Nokogiri`则可以用来创建和操作XML文档。 首先,我们需要了解`roo`库。`roo`是Ruby中用于读取不同类型的电子表格文件(如Excel、OpenOffice、Google Sheets)的库。安装`...

    ruby 读取cfg文件

    在Ruby编程语言中,读取配置文件(如cfg文件)是一项常见的任务,这通常涉及到从文件中获取特定的键值对以供程序使用。在本篇文章中,我们将深入探讨如何在Ruby中有效地读取和处理cfg文件,以及如何根据指定的键来...

    Ruby读取INI文件

    当我们谈论“Ruby读取INI文件”时,我们指的是使用Ruby代码解析和操作INI配置文件。INI文件是一种简单的文本文件格式,常用于存储软件配置数据,结构清晰,易于人阅读和编辑。每个部分由一个大写的键名定义,键值对...

    ruby对excel详细操作-读取、统计、写入

    ruby对excel中的数据进行读取,统计进行计算,重新写入另一个excel表格。存在读取excel数据,进行数量统计,分隔符操作,hash函数统计,取几位小数以及百分比。windows电脑可用,无需安装依赖包,直接使用ruby语言...

    ruby代码分享——excel应用

    从给定的文件标题、描述、标签以及部分内容中,我们可以提炼出以下详细的IT知识点,主要聚焦于使用Ruby语言对Excel文件进行操作。 ### 使用Ruby操作Excel的基础知识点 #### 1. 引入win32ole库 在Ruby中操作Excel,...

    用JRuby读取Excel文件

    总结起来,"用JRuby读取Excel文件"涉及的关键技术是JRuby与Java库的交互,特别是Apache POI或JExcelApi的使用,它们使得开发者能够用Ruby优雅地处理Excel数据。这个过程不仅涵盖了文件I/O操作,还涉及到对复杂数据...

    使用ruby解析awdb离线库

    使用ruby解析awdb离线库使用ruby解析awdb离线库使用ruby解析awdb离线库使用ruby解析awdb离线库使用ruby解析awdb离线库使用ruby解析awdb离线库使用ruby解析awdb离线库使用ruby解析awdb离线库使用ruby解析awdb离线库...

    Ruby源代码-读写excel.rb

    Ruby源代码,读写excel

    读取excel

    当我们谈论“读取Excel”时,通常是指使用编程语言或者特定的库来访问和处理Excel文件中的数据。这篇内容将深入探讨如何在不同的编程环境中读取Excel文件。 1. Python中的Excel读取: Python拥有多个强大的库,如`...

    ruby下将txt文件内容写入excel

    使用RUBY语言将TXT文件中的内容写入到excel中!

    excel lib ror ruby

    标题 "excel lib ror ruby" 暗示我们要讨论的是在Ruby on Rails(简称RoR)框架中使用库来处理Excel文件的相关知识。RoR是一个流行的开源Web开发框架,而Ruby语言本身支持与Microsoft Excel文件交互,这在数据导入...

    Ruby 用ADO读取ACCESS数据

    标题 "Ruby 用ADO读取ACCESS数据" 描述了如何使用Ruby编程语言通过ActiveX Data Objects (ADO)接口来访问并操作Microsoft Access数据库文件。在本文中,我们将深入探讨这个主题,了解如何设置环境,安装必要的库,...

    Ruby 与编码

    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存储库.zip

    ruby-git, ruby/Git是一个 ruby 库,可以通过将系统调用包装到Git二进制文件来创建读取和操作Git存储库 用于 ruby的 Git库在 ruby 中使用Git的库。主页项目源代码的Git public 位于:...

    KanjiReader:KanjiReader允许您使用Ruby读取汉字

    KanjiReader允许您使用ruby读取用汉字写的单词的一部分 安装 将此行添加到您的应用程序的Gemfile中: echo "gem 'KanjiReader'" >> Gemfile && bundle 或将其自己安装为: $ gem install KanjiReader 用法 首先,...

    embulk-input-roo-excel:这是embulk读取xlsx文档的输入插件

    embulk-input-roo-excel 这是读取 xlsx 文档的输入插件。 安装 java -jar embulk.jar gem intall embulk-input-roo-excel 您还需要 roo gem 来读取 xlsx 文档。 如果这些包没有自动安装,也安装。 java -jar ~/...

    Ruby-qtbindings允许你在Ruby中使用QTGui工具包

    在Ruby中使用QTGui工具包,开发者可以利用Ruby的简洁语法和动态特性,同时享受到QT提供的强大GUI设计能力。通过qtbindings,Ruby程序员可以直接调用QT的类和方法,创建复杂的窗口应用、控件、布局和信号与槽机制,而...

    Ruby新手学习书(Ruby语言中文教程)和Rails_4_days

    Ruby是一种面向对象的编程语言,以其简洁、优雅的语法著称,被广泛应用于Web开发,尤其是与Ruby on Rails框架结合使用。"Ruby新手学习书"和"Rails_4_days"这两个资源是为初学者设计的,旨在帮助他们快速掌握Ruby语言...

Global site tag (gtag.js) - Google Analytics