使用Ruby将mysql结果导出到文件
发布时间:2020-12-17 02:53:55 所属栏目:百科 来源:网络整理
导读:我想查询我的数据库并获取结果并将它们导出为.txt,.cvs或.xls mysql数据库不在我的本地计算机上托管 这是我访问数据库的代码并在屏幕上返回结果: #!/usr/bin/ruby require 'mysql' require 'watir' require "win32ole" excel = WIN32OLE::new('excel.Applic
我想查询我的数据库并获取结果并将它们导出为.txt,.cvs或.xls
mysql数据库不在我的本地计算机上托管 这是我访问数据库的代码并在屏幕上返回结果: #!/usr/bin/ruby require 'mysql' require 'watir' require "win32ole" excel = WIN32OLE::new('excel.Application') workbook = excel.Workbooks.Add worksheet = workbook.Worksheets(1) mysql = Mysql.init() mysql.connect(host='hostname',user='username',passwd='pwd',db='DBname') results = mysql.query("Select * FROM table") results.each{|row|; puts row;} mysql.close() worksheet.SaveAs("C:ScriptsDB_TestTest.xlsx") workbook.Close 解决方法
csv很简单.我不确定你从mysql.query得到什么,但要确保每一行都是一个数组,你想要放在csv行中,然后做这样的事情:
require 'csv' CSV.generate do |csv| csv << ["headers","describing","the data"] mysql.query("SELECT * FROM table").each { |row| csv << row } end csv支持在标准库中,因此不需要任何宝石.请注意,标准库在1.8和1.9之间更改 – 该示例应与1.9一起使用. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |