Windows平台
require 'win32ole'
require 'fileutils'
working_path = ""
working_path.concat(Dir.getwd).concat('/')
excel_file = WIN32OLE.new('Excel.Application')
workbook = excel_file.workbooks.open(working_path + ARGV[0])
worksheet = workbook.worksheets(1)
worksheet.select
line_num = 2
id = worksheet.range("A#{line_num}").value
ipAddress = worksheet.range("B#{line_num}").value
begin
while id && ipAddress
new_file_name = prefix + '_' + (line_num-1).to_s + suffix # the name of the new xml file
FileUtils.cp(ARGV[1], new_file_name)
modify_xml_file(new_file_name, id, ipAddress)
line_num += 1
id = worksheet.range("A#{line_num}").value
ipAddress = worksheet.range("B#{line_num}").value
end
rescue Exception => e
puts e
ensure
excel_file.quit
end
本文介绍了一种使用Ruby脚本从Excel表格中批量读取数据并生成XML文件的方法。脚本通过win32ole gem操作Excel,逐行读取指定工作表的数据,然后创建带有动态名称的新XML文件,并调用修改XML文件的函数来填充具体内容。
504

被折叠的 条评论
为什么被折叠?



