我使用了 spreadsheet gem 来完成这个任务。它可以工作,但有时速度会非常慢。我甚至尝试了Roo gem,但它并没有改善性能。有更好的方法来完成这项工作吗?奇怪的是,同一份Excel中的某些工作表运行得更快,而有些工作表非常慢,甚至需要长达1小时。
我们能否使用Open Office打开单个Excel中的每个工作表(标签),并更快地将它们转换为CSV?如果是,请问在Ruby中如何实现?
或者还有更好的解决方案吗?
下面是一个使用Roo gem的小例子:
xls = Roo::Excel.new(source_excel_file)
xls.each_with_pagename do |name, sheet|
# p sheet.to_csv(File.join(dest_csv_dir,name + ".csv"))
#sheet.parse(:clean => true)#.to_csv(File.join(dest_csv_dir,name + ".csv"))
puts name
puts sheet.parse(:clean => true)
end