1

我目前正在开发一个大型测量应用程序,该应用程序目前正在 Heroku(Cedar、4 个网络测功机、Crane PostgreSQL 数据库)上生产。由于时间限制,我有一个调查模型,通过 attr_accessible 公开问题。我希望导出天数结果,通常是 5000 多行数据,大约 45 列。

当我导出当天的调查(Survey.where("created_at >= ?", Time.now.beginning_of_day))时,使用thisthis的组合,它会提示下载,下载,但是当我打开它时,我只有大约 2/3 的数据。有时它会在一行中途中断。

似乎我遇到了某种内存问题,或者将所有内容正确发送到 Excel/CSV 的问题。我确信这是因为数据大小,但我无法控制,我只是想找出问题所在。关于如何尝试解决此问题的任何想法?这是相当虚弱的。

这是处理 CSV/Excel 写入的调查模型中的代码:

  def self.to_csv(options = {})
    CSV.generate do |csv|
      csv << column_names
      all.find_each do |survey|
        csv << survey.attributes.values_at(*column_names)
      end
    end
  end

目前在控制器上,我将所有内容格式化为 index.xls.erb。

感谢您的任何帮助,您可以提供。

4

1 回答 1

0

我解决了这个问题!经过一番摸索,我从使用 HTML 格式的视图/xls 文件切换到只做一个准系统 CSV ,在视图中格式化,如this answer中所引用。这非常有效。感谢大家的故障排除思路!

于 2012-12-06T16:01:10.507 回答