Ruby 学习笔记

这篇博客介绍了如何使用Ruby通过win32ole库来读取Excel文件。首先需要引入require 'win32ole',然后创建一个函数封装直接调用。文中还提及了条件判断(conditions.empty?)以及如何向数组中添加记录的操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

近日为了做一个小项目用到ruby 特将有些函数作为笔记


怎么去读取excel文件

1. 首先引入 require "win32ole"

2. 写一个函数包装直接调用

def read_excel(excel)
		require 'pp'
		workbook = WIN32OLE.new('excel.application').workbooks.open((Dir.pwd + excel).gsub('/', '\\'))
		worksheet = workbook.worksheets 1
		excelData = worksheet.usedrange.value
		excelData.shift
		# excelData.map {|a| a[0].to_i.to_s}
		m = Mysql.new("localhost","root","","e2e")
		excelData.each do |items|
			# puts items[1..-2]
			items[0] = items[0].to_i.to_s
			statement = "INSERT INTO apps (project_id,app_name,l2_owner,l3_owner,app_alias,create_by,create_at) VALUES ";
			statement = "#{statement}('"+items.join("','")+"',?)"
			st = m.prepare(statement)
			st.execute(Time.now)
		end
		return "load data successfully!"
	ensure
		workbook.close unless workbook.nil?
	end


判断数组是否为空

conditions.empty?


向数组里面增加记录

apps = []
conditions.each do |condition|
	apps << App.all(:app_name.like=>"%#{condition}%")
end
默认是一个二维数组。可以将话成一维数组

apps = apps.flatten

可以将数组里面相同的数据给过滤掉

apps = apps.uniq

打印数组格式输出

puts apps.inspect




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值