首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Ruby将mysql结果导出到文件

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

Stack Overflow用户
提问于 2012-02-24 04:57:02
回答 2查看 4.4K关注 0票数 4

我想查询我的数据库并获取结果,然后将它们导出到.txt、.cvs或.xls中

mysql数据库未托管在我的本地计算机上

下面是我访问数据库并在屏幕上返回结果的代码:

代码语言:javascript
复制
 #!/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
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-24 05:30:07

csv很简单。我不确定您从mysql.query得到了什么,但请确保每一行都是一个数组,其中包含您希望放入csv行中的内容,然后执行以下操作:

代码语言:javascript
复制
require 'csv'

CSV.generate do |csv|
  csv << ["headers","describing","the data"]
  mysql.query("SELECT * FROM table").each { |row| csv << row }
end

csv支持在标准库中,所以不需要任何gem。请注意,标准库在1.8和1.9之间进行了更改-示例应该使用1.9。

票数 6
EN

Stack Overflow用户

发布于 2015-10-29 18:57:13

这块宝石可能对你有很大帮助。你可以用一个漂亮灵活的DSL导出任何复杂的查询。

https://github.com/stevenbarragan/julia_builder

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9421160

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档