用Ruby读取Excel文件的两种重要方式
1. 通常做法,查阅微软提供的API了,需要包含win32, 在ruby前加入,require ‘win32ole’
例如:
require ‘win32ole’
myexcel = WIN32OLE.new(“excel.application”)
myexcel.visible=true
mywbk = myexcel.Workbooks.Add()
mywst= mywbk.Worksheets(1)
mywst.Range(‘A1:D1′).value =['1','2','3','4']
将['1','2','3','4']写入EXCEL的’A1:D1′区域
或 使用纯ruby 读写excel
@file_task_name =”e:/test.xls”
@fo=File.open(@file_task_name,”r”)
# def total_lines@lines = 0@fo.each_with_index {|@item,@lines|}puts @lines+1@lines= @lines+1File.open(@file_task_name) do |file|#file.each_line{|line| puts line}file.close();
2. 使用操作excel的第三方工具(推荐):
Parseexcel插件(主要是excel读取)
安装方式:gem install parseexcel
读取excel文件实例:
require ‘rubygems’
require ‘parseexcel’
#得到第一个表单
workbook = Spreadsheet::ParseExcel.parse(“C:/test.xls”)
#遍历行
worksheet = workbook.worksheet(0)
#遍历该行非空单元格
j=0  # initialize row
worksheet.each { |row|     i=0    if row != nil
#取得单元格内容为string类型
row.each { |cell|      if cell != nil
# 若excel里面含有中文推荐使用 ‘GB2312′;若为英文字符一般采用默认字符集’latin1′
contents = cell.to_s(‘GB2312′)
puts “Row: #{j} Cell: #{i} #{contents}”
end
i = i+1
}
j = j +1
end
}
备注:
cell.to_s(‘latin1′) #读取字符串
cell.to_i           #读取int值
cell.date           #读取一个时间值
cell = row.at(3)    #读取特定值

Ruby读取Excel文件的两种方法相关推荐

  1. .NET CORE 2.1 导出excel文件的两种方法

    最近在做 MVC 项目的时候遇到项目的导出,下面总结下两种导出到excel 的方法 第一种方法: 将文件写到本地,然后返回这个File 或者返回这个 File 的绝对地址  其中  _hostingE ...

  2. C#读取资源文件的两种方法及保存资源文件到本地

    方法1 GetManifestResourceStream VB.NET中资源的名称为:项目默认命名空间.资源文件名 C#中则是:项目命名空间.资源文件所在文件夹名.资源文件名  例如: istr = ...

  3. php原生导出excel文件的两种方法

    第一种方法: $filename='文件名称';$filetitle='你的标题';if($_POST){set_time_limit(10000):$title = '';ini_set('memo ...

  4. C#读取资源文件的两种方法

    http://lwl0606.cmszs.com/?p=1021 方法1 GetManifestResourceStream VB.NET中资源的名称为:项目默认命名空间.资源文件名 C#中则是:项目 ...

  5. MATLAB笔记:打开数据文件的三种方法+读取数据文件的两种方法+保存数据文件的两种方法

    1.打开数据文件 1.1 直接打开文件 PATHNAME = 'C:\Users\s55\Desktop\dat'; FILENAME = '\data_1.dat'; str0=strcat(PAT ...

  6. java遍历文件和归类_java读取文件的两种方法:java.io和java.lang.ClassLoader

    java读取文件的两种方法:java.io和java.lang.ClassLoader 什么时候使用java.io,什么时候使用java.lang.ClassLoader呢? (注:要是之前读xml文 ...

  7. matlab中读文件的行数_Matlab中读取txt文件的几种方法

    Matlab中读取txt文件的几种方法 一.纯数据文件(没有字母和中文,纯数字) 对于这种txt文档,从matalb中读取就简单多了 例如test.txt文件,内容为"17.901 -1.1 ...

  8. C#读写txt文件的两种方法介绍[转]

    C#读写txt文件的两种方法介绍 1.添加命名空间 System.IO; System.Text; 2.文件的读取 (1).使用FileStream类进行文件的读取,并将它转换成char数组,然后输出 ...

  9. matlab读取cvs文件的几种方法

    matlab读取CVS文件的几种方法: 1,实用csvread()函数 csvread()函数有三种使用方法: 1.M = csvread('filename') 2.M = csvread('fil ...

最新文章

  1. 加工费采购订单批准后禁止更改订单数量
  2. pip 查看要安装的包所有版本(所有包版本)
  3. Java多线程编程(2)--多线程编程中的挑战
  4. Wannafly挑战赛27: C. 蓝魔法师(树形DP)
  5. jsp需要多少java基础_Java Web基础面试题你知道多少?
  6. Qt-5.10.1 Windows MinGW 下QwtPlot3D的编译及其示例的运行
  7. html-制作开心网游戏页面,【手把手】制作一个简单的HTML网页
  8. 如何为java添加日历控件_laydate日历控件使用方法详解
  9. swfobject 2.0 使用
  10. # Vue 组件开发打包、Vue 项目打包、js库组件库打包使用
  11. 快递物流配货发货系统学习--以京东物流为例
  12. Java —— EJB 到底是什么
  13. 高考数学圆锥曲线知识点:解题技巧
  14. java计算2个日期的天数时间差
  15. 观后感|当幸福来敲门 The Pursuit of Happyness
  16. SpringBoot集成身份证认证
  17. 使用MediaPlayer的一些常见报错及解决方法-1
  18. FrontEnd笔记 -- PhotoShop
  19. Gitlab-CI Runner缓存
  20. 免费分享嵌入式stm32基础项目开发:心率检测仪的设计与实现

热门文章

  1. Android Studio 连接不上华为手机
  2. 公寓这个大坑,劝大家不要再跳了
  3. 3310复刻版 java_诺基亚3310复刻版评测:经典回归 情怀满满
  4. netstat命令 + 黑洞路由
  5. [创业-29]:雪崩与狗,创业者真实写照
  6. 聚合查询越来越慢?——详解Elasticsearch的Global Ordinals与High Cardinality
  7. C语言约分-化为最简分数
  8. Visual Studio 2017卸载不干净
  9. android 微信授权获取用户个人信息
  10. fuchsia hub文件系统