[英]Roo gem .xlsx files performance problems
通過使用roo gem通過使用來自此gem的XLSX或XLS庫讀取文件,我遇到了無法接受的性能問題。
有人可能會建議我關於如何解析.XLSX文件的替代方法?
parsed_file = Excel.new(filename,false, :ignore) if (file_format.upcase
== "XLS")
parsed_file = Excelx.new(filename,false, :ignore) if
(file_format.upcase == "XLSX")
raise t "#{filename} is not an Excel file!" if (!parsed_file)
parsed_file.default_sheet =
parsed_file.sheets[0]#'Sheet2'#oo.sheets[1]
first_row = parsed_file.first_row
last_row = parsed_file.last_row
first_column = parsed_file.first_column
last_column = parsed_file.last_column
#logger.info "#### Total Rows:#{last_row}, first_row:#{first_row},
last_row:#{last_row}, first_column:#{first_column},
last_column:#{last_column}"
first_row.upto(last_row) do |current_line|
# Stuff ....
end
謝謝
順便說說,
雜種服務器因3767行的文件而掛起.xls或.xlsx,例如:
002N6V3 1506 RH-128也門移動黑0,5 KILOGRAMS YY
002N6V3 1506 RH-128也門移動黑0,5 KILOGRAMS YY
........
但它在1000行及更少的行中效果很好。
在控制台上它起作用了。 但是大約34分鍾后。 在網路上無法接受。 通過使用電子表格會花費可接受的時間,並且不會掛起mongrels服務器。 據說比電子表格更現代。
我也將其用作下一步:
parsed_file = Excelx.new(filename,false, :ignore) if (file_format.upcase == "XLSX")
(1..parsed_file.last_row).each { |row|
ret << parsed_file.row(row)
}
有人遇到這種寶石同樣的問題? 除了通過稍后使用delay_jobs在后台運行此任務之外,還有其他選擇嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.