У меня есть веб-приложение Ruby + Merb, которое должно быстро оценить (или точно подсчитать) количество строк в электронной таблице. Он принимает все форматы, которые поддерживает библиотека roo , включая .xls, .xlsx, .ods и текстовые форматы, такие как CSV и TSV.
CSV / TSV легко и быстро:
`cat #{filepath} | dos2unix | wc -l`.to_i
Однако для больших файлов использование библиотеки roo может быть очень медленным:
e = Excel.new(filepath)
e.last_row
Мой опыт работы с форматами файлов Excel равен нулю, поэтому я обращаюсь к S.O. Масс: как я могу попытаться оценить количество строк, содержащихся в файле XLS, XLSX или ODS, используя только Ruby и / или стандартные программы UNIX? Моя цель - иметь возможность обрабатывать файлы 5 МБ менее чем за 1,5 секунды (давать или брать на различном оборудовании).