Ruby on rails 将数据从excel文件读取到postgres数据库(活动记录)

Ruby on rails 将数据从excel文件读取到postgres数据库(活动记录),ruby-on-rails,ruby,ruby-on-rails-3,activerecord,ruby-on-rails-3.1,Ruby On Rails,Ruby,Ruby On Rails 3,Activerecord,Ruby On Rails 3.1,我正在构建一个显示股票数据趋势和股票报价的web应用程序。数据已经以excel文件的形式发送给我,我现在需要将其加载到数据库中。excel文件包含每个股票的每日股票数据,列的格式如下: 日期|投标|报价|价格|数量 每个库存都在文件中的单独工作表中,如下所示,每个块都是一个工作表: 库存1 |库存2 |库存3 |库存4 将此数据从excel电子表格加载到DailyQuotes表的最佳方式是什么?DailyQuotes表的迁移文件如下: class CreateDailyQuotes < A

我正在构建一个显示股票数据趋势和股票报价的web应用程序。数据已经以excel文件的形式发送给我,我现在需要将其加载到数据库中。excel文件包含每个股票的每日股票数据,列的格式如下:

日期|投标|报价|价格|数量

每个库存都在文件中的单独工作表中,如下所示,每个块都是一个工作表:

库存1 |库存2 |库存3 |库存4

将此数据从excel电子表格加载到DailyQuotes表的最佳方式是什么?DailyQuotes表的迁移文件如下:

class CreateDailyQuotes < ActiveRecord::Migration
  def change
    create_table :daily_quotes do |t|
      t.date :date
      t.decimal :bid
      t.decimal :offer
      t.decimal :price
      t.integer :volume
      t.integer :stock_id

  t.timestamps
    end
  end
end
class CreateDailyQuotes

我已经创建了一个StockName和ID为列的Stocks表。

gem“电子表格”可能是解析旧excel格式“xls”的最佳选择。检查这个

如果你想处理xlsx,也许更好

我喜欢。它同时适用于xls和xlsx格式。
也就是说,官方文档中的示例代码对于您的案例来说已经足够好了。您需要执行以下操作:

  • 遍历每一页
  • 遍历每一行
  • 创建一个
    Stocks
    对象并填充每行的字段
  • 拯救
另一种解决方案是将excel另存为csv,并使用它可以从csv文件直接填充db表