Ruby读取Excel文件的两种方法

用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)    #读取特定值
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值