ruby操作excel的几段代码

后端开发   发布日期:2025年06月14日   浏览次数:192
 1 #require "spreadsheet"
 2 require "jcode"
 3 $KCODE='gbk'
 4 
 5 #处理excel
 6 require "win32ole"
 7 excel=WIN32OLE.new('excel.Application')
 8 book=excel.Workbooks.open("E:\\与大奖有约\\22选5_0325.xls")
 9 sheet=book.Worksheets()
 sheet.select
 #excel.visible=true
 
 #读取数据
 puts sheet.Range('a12')['value'].to_s
 puts sheet.Range('b12')['value']
 
 #读入二维表
 data=sheet.Range("a1:C12")['VALUE']
 p data
 
 #找到a列 第一个空值
 line=
 while sheet.Range("a#{line}")['value']!=nil
   line=line+
 end
 
 puts line-
 #puts sheet.Range("a#{line}")['value']
 
 #将第一列的值  读入到  一个数组中
 line=''
 data=[]
 while sheet.Range("a#{line}")['value']
   data<<sheet.Range("a#{line}:f#{line}")['value']
   line.succ!
 end
 
 p data
 
 
 #将数据写入到excel表格中
 sheet.Range('h2').value=Time.now.strftime '%/%m/%y'#写入单个值——日期
 sheet.range('h1:j1').value=['测试','','result']#写入一个数组
 
 
 
 #运行已经定义的宏"Macro2"
 excel.run('Macro2')
 
 #设置背景色
 sheet.range('a3:f5').interior['ColorIndex']=#设置成暗黄色
 sheet.range('a3:f3').interior['colorindex']=-#将背景色设置成无色
 #-4142是常量
 
 
 
 book.Close()#保存  工作簿
 excel.Quit#结束会话

 

 

 

 1 require "jcode"
 2 $KCODE='gbk'
 3 require "win32ole"
 4 excel=WIN32OLE.new("excel.Application")
 5 excel.visible=true
 6 book1=excel.workbooks.add
 7 sheet1=book1.worksheets()
 8 sheet1.select
 9 sheet1.range('a1').value=
 sheet1.range('a2').value='这是一个中文字符串'
 book1.saveas("e:\\1.xls")
 book1.close
 excel.quit
 1 require "jcode"
 2 $KCODE='gbk'
 3 
 4 require "win32ole"
 5 excel=WIN32OLE.new('excel.application')
 6 
 7 #book1=excel.workbooks.add#新建一个待操作的文件
 8 #book1.saveas 'e:\\book1.xls'#保存新文件
 9 
 #打开待操作文件
 book1=excel.Workbooks.open('e:\\book1.xls')
 
 #sheet1=book1.open('sheet1')
 #sheet1.select
 
 #下面的操作都是一样的结果
 book1.worksheets('sheet1').range('a1').value='第一个'
 
 excel.worksheets('sheet1').range('a2').value='第二个'
 
 excel.activeworkbook.activesheet.range('a3').value='第三个'
 
 excel.activesheet.range('a4').value='第四个'
 
 excel.worksheets('sheet3').select
 excel.range('a5:a1').value="第五个"
 
 #excel可以操作所有的 属性,默认为“当前工作簿/工作表"
 
 
 
 #book1.close
 excel.quit

 

 

 

 

 1 require "jcode"
 2 $KCODE='gbk'
 3 #对单元格的操作
 4 require "win32ole"
 5 excel=WIN32OLE.new 'excel.application'
 6 book1=excel.Workbooks.open('e:\\book1.xls')
 7 
 8 sheet1=book1.Worksheets()#第一个worksheet表
 9 p sheet1.range('a1').text
 
 p sheet1.range('a1','c3').value
 
 #puts sheet1.range('a:a').value
 
 
 #获取单元格的值
 puts sheet1.range('a2').text
 puts sheet1.range('a2').value
 
 #对单元格设置值
 sheet1.range('h1').value=1.23456
 sheet1.range('h2').value='1.23456'
 a=sheet1.range('h1').value
 b=sheet1.range('h2').value
 puts "a等于b" if a==b
 
 #迭代访问
 sheet1.range('a1:a10').each{|cell| puts cell.value
   cell.value=''
 }
 
 #使用cell()
 sheet1.range("b3:c7").rows.each{
   |r|
   r.cells(,).value='dd'
 }
 
 book1.close
 excel.quit

 

 

 

 

 require "jcode"
 $KCODE='gbk'
 
 require "win32ole"
 excel=WIN32OLE.new('excel.application')
 
 
 excel.quit

 

以上就是ruby操作excel的几段代码的详细内容,更多关于ruby操作excel的几段代码的资料请关注九品源码其它相关文章!