2

我正在构建一个显示股票数据趋势和股票报价的 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

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

4

2 回答 2

4

我喜欢roo。它适用于 xls 和 xlsx 格式。
也就是说,官方文档中的示例代码足以满足您的情况。您需要执行以下操作:

  • 遍历每个工作表
  • 遍历每一行
  • 创建一个Stocks对象并从每一行填充字段
  • 节省

另一种解决方案是将您的 excel 保存为 csv,并使用faster_csv gem,它允许您直接从 csv 文件填充您的数据库表。

于 2012-08-28T10:26:05.610 回答
1

gem '电子表格' 可能是解析旧的 excel 格式 'xls' 的最佳选择。检查本指南

如果你想处理 xlsx,也许ruby​​XL更好。

于 2012-08-28T09:28:48.330 回答