#encoding:utf-8
require 'win32ole'
PATH = "C:\\Users\\Administrator\\Desktop\\"
file_name = "123.xls"
file_path = PATH+file_name
default_datalist = Array.new(4){|x| Array.new(4){|y| "dfadsf"}}
#写入数据,datalist必须是二维数组
def writeData(worksheet,datalist)
datalist.each_with_index do |data, i|
for j in 0..data.size-1
j == 0 ? temp = worksheet.Range("a#{i+1}") : temp = temp.next #next方法是定位到右边的第一个单元格
temp.value = data[j]
end
end
end
#读取数据
def readData(worksheet,*args)
if args.empty?
cells = worksheet.UsedRange.Rows.value #UsedRange.Rows是取所有的单元格
else
cells = worksheet.Range(args[0], args[1]).value
end
# cells.each {|cell| cell.each_with_index {|c,i| cell[i] = 0 if c == nil}} #将nil值用0代替
cells.each {|cell| p cell}
# p cells
end
begin
excel = WIN32OLE::new('Excel.Application')
excel.WorkBooks.Open(file_path)
worksheet = excel.ActiveWorkbook.WorkSheets(1)
#写入数据
datalist = default_datalist
writeData(worksheet, datalist)
#读取数据
readData(worksheet)
# p worksheet.Range("a1").next.value
excel.Quit()
rescue Exception => e
puts $!
puts $@
excel.Quit()
end
ruby excel的简单操作
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 我们大多数人都习惯用鼠标来操作Excel。然而今天将要介绍的5个Excel鼠标操作小技巧,其中有一两个技巧很多人或...