ruby操作excel的几段代码

 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( 1 )
10  sheet.select
11  # excel.visible=true
12 
13  # 读取数据
14  puts sheet.Range( ' a12 ' )[ ' value ' ].to_s
15  puts sheet.Range( ' b12 ' )[ ' value ' ]
16 
17  # 读入二维表
18  data = sheet.Range( " a1:C12 " )[ ' VALUE ' ]
19  p data
20 
21  # 找到a列 第一个空值
22  line = 1
23  while  sheet.Range( " a#{line} " )[ ' value ' ] != nil
24    line = line + 1
25  end
26 
27  puts line - 1
28  # puts sheet.Range("a#{line}")['value']
29 
30  # 将第一列的值  读入到  一个数组中
31  line = ' 1 '
32  data = []
33  while  sheet.Range( " a#{line} " )[ ' value ' ]
34    data << sheet.Range( " a#{line}:f#{line} " )[ ' value ' ]
35    line.succ!
36  end
37 
38  p data
39 
40 
41  # 将数据写入到excel表格中
42  sheet.Range( ' h2 ' ).value = Time.now.strftime  ' %/%m/%y ' # 写入单个值——日期
43  sheet.range( ' h1:j1 ' ).value = [ ' 测试 ' , ' 25 ' , ' result ' ] # 写入一个数组
44 
45 
46 
47  # 运行已经定义的宏"Macro2"
48  excel.run( ' Macro2 ' )
49 
50  # 设置背景色
51  sheet.range( ' a3:f5 ' ).interior[ ' ColorIndex ' ] = 36 # 设置成暗黄色
52  sheet.range( ' a3:f3 ' ).interior[ ' colorindex ' ] =- 4142 # 将背景色设置成无色
53  # -4142是常量
54 
55 
56 
57  book.Close( 1 ) # 保存  工作簿
58  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( 1 )
 8  sheet1.select
 9  sheet1.range( ' a1 ' ).value = 100
10  sheet1.range( ' a2 ' ).value = ' 这是一个中文字符串 '
11  book1.saveas( " e:\\1.xls " )
12  book1.close
13  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 
10  # 打开待操作文件
11  book1 = excel.Workbooks.open( ' e:\\book1.xls ' )
12 
13  # sheet1=book1.open('sheet1')
14  # sheet1.select
15 
16  # 下面的操作都是一样的结果
17  book1.worksheets( ' sheet1 ' ).range( ' a1 ' ).value = ' 第一个 '
18 
19  excel.worksheets( ' sheet1 ' ).range( ' a2 ' ).value = ' 第二个 '
20 
21  excel.activeworkbook.activesheet.range( ' a3 ' ).value = ' 第三个 '
22 
23  excel.activesheet.range( ' a4 ' ).value = ' 第四个 '
24 
25  excel.worksheets( ' sheet3 ' ).select
26  excel.range( ' a5:a1 ' ).value = " 第五个 "
27 
28  # excel可以操作所有的 属性,默认为“当前工作簿/工作表"
29 
30 
31 
32  # book1.close
33  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( 1 ) # 第一个worksheet表
 9  p sheet1.range( ' a1 ' ).text
10 
11  p sheet1.range( ' a1 ' , ' c3 ' ).value
12 
13  # puts sheet1.range('a:a').value
14 
15 
16  # 获取单元格的值
17  puts sheet1.range( ' a2 ' ).text
18  puts sheet1.range( ' a2 ' ).value
19 
20  # 对单元格设置值
21  sheet1.range( ' h1 ' ).value = 1.23456
22  sheet1.range( ' h2 ' ).value = ' 1.23456 '
23  a = sheet1.range( ' h1 ' ).value
24  b = sheet1.range( ' h2 ' ).value
25  puts  " a等于b "   if  a == b
26 
27  # 迭代访问
28  sheet1.range( ' a1:a10 ' ).each{ | cell |  puts cell.value
29    cell.value = ' 100 '
30  }
31 
32  # 使用cell()
33  sheet1.range( " b3:c7 " ).rows.each{
34     | r |
35    r.cells( 1 , 1 ).value = ' dd '
36  }
37 
38  book1.close
39  excel.quit

 

 

 

 

1  require  " jcode "
2  $KCODE = ' gbk '
3 
4  require  " win32ole "
5  excel = WIN32OLE.new( ' excel.application ' )
6 
7 
8  excel.quit

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值