微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用Ruby将mysql结果导出到文件

我想查询我的数据库获取结果并将它们导出为.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:\\Scripts\\DB_Test\\Test.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一起使用.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐