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 # 结束会话
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
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
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
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
2 $KCODE = ' gbk '
3
4 require " win32ole "
5 excel = WIN32OLE.new( ' excel.application ' )
6
7
8 excel.quit