- desc "转换excel到csv"
- task :covert_excel_to_csv => :environment do
- # 读取所有的xls和xlsx文件
- excel_file_list = FileList.new("#{Rails.root}/manager_datas/apk_reviews/*/*/*")
- #把excel文件转换为csv文件
- excel_file_list.each_with_index do |file, index|
- #验证文件格式
- file_extend_name = file.split('.').last
- case file_extend_name
- when "xls"
- xls = true
- when "xlsx"
- xlsx = true
- else
- xls = xlsx = false
- end
- #根据不同格式分别处理,并转换为csv文件
- if xls
- csv_file = Excel.new(file)
- file_name = file.split('.').first
- puts "正在读取excel文件 ->", file.inspect
- puts "读取excel文件完毕,正在转换生成对应的csv文件,请稍等..."
- csv_file.to_csv("#{file_name}.csv")
- puts "正在生成第#{index+1}个csv文件完毕!"
- elsif xlsx
- csv_file = Excelx.new(file)
- file_name = file.split('.').first
- puts "正在读取excel文件 ->", file.inspect
- puts "读取excel文件完毕,正在转换生成对应的csv文件,请稍等..."
- csv_file.to_csv("#{file_name}.csv")
- puts "正在生成第#{index+1}个csv文件完毕!"
- end
- end#excel_file_list.each
- puts " ==== 生成csv文件全部完毕!开始导入操作! =====>"
- end
来源: http://www.phpxs.com/code/1006798/