Ruby on Rails控制台导出表格至Excel

3

Ruby on Rails 3

我有一个在我的应用程序中没有显示的表格。我想从控制台将表格导出到Excel。

有没有办法从控制台将数据库表格导出到Excel文件?

谢谢

以下是我目前的进展:

require 'csv'

file = "#{Rails.root}/public/survey.csv"

userrefs = Survey.all

CSV.open( file, 'w' ) do |writer|
 userrefs.each do |ur|
   writer << ur.attributes.values_at(*column_names)
 end
end

当我输入 require 'csv' 时,它返回 false。如何使其为 true? 此外,*column_names 未定义。

这是关于将Rails控制台输出重定向到文件的问题,请参考以下链接:https://dev59.com/QXE95IYBdhLWcg3wGZ9_ - Sam
@SamD,那个问题并没有帮助到文件格式。我可以很容易地将表格以txt格式获取。如果需要的话,我只需复制粘贴即可。 - DDDD
1
你可以在只有表格的部分上运行 format.xls,而不是 txt。就像这里所示:http://railscasts.com/episodes/362-exporting-csv-and-excel - Sam
在实例化要导出到Excel的对象后,您仍然可以在控制台中运行format.xls。 - Sam
我很高兴它对你有用。我把它作为答案发布了。 - Sam
显示剩余2条评论
3个回答

2

如评论中所述,一种简单的方法是使用 format.xls 函数从控制台呈现 Excel 文件。Ryan Bates 的视频详细介绍了 Excel 输出。


1
您可以使用现有的驱动程序连接到数据库表,或者如果您更喜欢更高级别的API,则可以创建一个ActiveRecord模型或使用Sequel gem。连接后,只需使用Ruby CSV library(它在标准库中,因此不需要额外的库)将内容转储到CSV文件中。CSV文件可以很容易地从Excel中读取。
PS. 为了使用适当的词语,那不是Rails表,而是数据库表。

不确定您所说的连接数据库是什么意思。另外,您如何使用库来转储文件?我在链接中看到它有一个do循环。那是在控制台上运行吗? - DDDD
是的,您可以从控制台执行所有操作。 - Simone Carletti
该网站使用了许多标题,这非常令人困惑。哪一个是一次性显示所有的?此外,在 cmd 中表格是如何指定的?你能给出一个例子吗? - DDDD
不要让我替你编写代码,根据StackOverflow的精神,尝试去学习并编写解决方案。然后再回来分享你所做的,这样我们可以评论并帮助你。 - Simone Carletti

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接