关于ruby ole的一些基本操作

最近因为工作需要,又去接触了一下ruby ole的一些知识,不得不说,ruby相对于JAVA来说,用起来确实轻巧不少。但是相对来说,ruby的资料要少些,像关于WIN32OLE的资料就更少了,那个API文档里面只是零星的举了一个例子,到底有些哪API都不清楚,更不要那些API的意思了。不过还好,网上其它地方也有些零星的资料,基本上够用了。

其它ruby的代码很简单,一看就懂,为了方便以后查找,所以把最近写的一个简单程序帖出来,做个记录。

# coding: utf-8
 
=begin
ruby 2.0 xp 32; sublime text3
=end

require 'win32ole'

excel = WIN32OLE::new('excel.Application')
# excel_file="D:\\rubyworkspace\\户籍人口登记表.xls";
excel_file="D:\\rubyworkspace\\test.xls";

workbook = excel.Workbooks.open(excel_file);
# @worksheet = workbook.Worksheets("户籍人口登记表")
@worksheet = workbook.Worksheets(1)


data = @worksheet.UsedRange.Value
#当前数据条数 
p data.size

@worksheet.Range("N3:N998").each do |cell|
	if cell.value != nil
		cell.value = cell.value
	end
end

@worksheet.Range("M3:M998").each do |cell|
	if cell.value != nil
		cell.value = cell.value
	end
end

@worksheet.range("M3:N4").value = "sss"

#Setting it to True is a simple way of preventing the "Do you wish to save..." dialog appearing when Excel is closed
workbook.saved = true
workbook.save
# workbook.saveas('d:\\rubyworkspace\\test1.xls') 

# @worksheet.Rows("3:998").Delete()
# workbook.saveas('d:\\rubyworkspace\\test.xls') 

workbook.close
excel.quit



这个代码很好懂,至于实现的业务功能,不容易看得明白,比如
cell.value = cell.value

这个代码有什么用,有用的,主要是EXCEL里面的内容有时候是用函数生成,但是解析的时候要求必须是文本,上面代码的功能是将函数生成的结果替换成文本。


转载于:https://my.oschina.net/moluyingxing/blog/346379

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值