2016-07-08 3 views
0

В настоящее время я работаю над двумя проектами.Рельсы, импортирующие большие листы Excel/листы google

У одного есть файл excel размером около 130 мб, и вы можете представить, сколько записей он будет содержать.

Другие используют листы google с записями 25k +, и они будут увеличиваться с течением времени.

Итак, для таких мега загрузок, как я должен ходить в рельсах. Я не нахожу подробное руководство по решению этой проблемы, если у кого-то есть это, пожалуйста, поделитесь им со мной.

Просьба посоветуйте мне стратегию/драгоценные камни, которые я должен предпочесть.

Спасибо.

ответ

0

Вы проголосовали за преобразование в CSV и импорт? Для этого есть учебник и драгоценный камень: RailsCasts 396

+0

Я видел этот учебник, но будет ли он работать на больших листах Excel, например 40k + rows? –

0

Во-первых, экспорт в CSV. Затем разделить на более мелкие файлы, например, с FOW

split data.csv 

(OS X/Linux)

Я бы осуществить импорт в качестве задачи граблей. Вы также можете просто генерировать seed.rb с небольшим количеством манипуляций с строками.

У Rails не должно быть проблем с файлом 170 МБ, но часто досадно ждать завершения длительных задач, особенно если вы все еще отлаживаете.

Кроме того, вы можете импортировать его гораздо быстрее, если вы говорите напрямую с mysql. Но вы потеряете удобство рельсов и должны по крайней мере сделать

Data.all.each do |datum| 
    datum.touch 
    datum.save! 
end 

для проверки.

Смежные вопросы