Ich benutze Edelstein roo. Hier erhalte ich den Fehler alsKeine solche Datei oder Verzeichnis @ rb_sysopen - /tmp/oo_20161031-6508-1bswvam/roo_workbook.xml in Schienen
Keine solche Datei oder das Verzeichnis @ rb_sysopen - /tmp/oo_20161031-6508-1bswvam/roo_workbook.xml
Mein Modell-Codierung ist,
def self.import(file)
spreadsheet = Roo::Spreadsheet.open(file.path)
header = spreadsheet.row(1)
(2..spreadsheet.last_row).each do |i|
row = Hash[[header, spreadsheet.row(i)].transpose]
subject = find_by(id: row["id"]) || new
subject.attributes = row.to_hash
subject.save!
end
Ende
def self.open_spreadsheet(file)
case File.extname(file.original_filename)
when ".csv" then Roo::CSV.new(file.path, nil, :ignore)
when ".xls" then Roo::Excel.new(file.path, nil, :ignore)
when ".xlsx" then Roo::Excelx.new(file.path, nil, :ignore)
when ".xml" then Roo::XML.new(file.path, nil, :ignore)
else raise "Unknown file type: #{file.original_filename}"
end
Ende
Es nimmt die Parameter,
"utf8"=>"✓", "authenticity_token"=>"mk8vcsZQSd0YvjxM1EOQB8IYlyf6hDgAC/FE8lgGDElbkaPIjtiCNGEynsjfh1KklHErjp+aWWuDzVOZah8PVA==", "file"=>#<ActionDispatch::Http::UploadedFile:0x0055a570f4f8d8 @tempfile=#<Tempfile:/tmp/RackMultipart20161031-6508-18g6ask.xlsx>, @original_filename="TEST.xlsx", @content_type="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", @headers="Content-Disposition: form-data; name=\"file\"; filename=\"TEST.xlsx\"\r\nContent-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\r\n">, "commit"=>"Import"
Fehler zeigt im offenen Dateiformat. Was ist die richtige Lösung dafür?
Danke.
Haben Sie es mit einer neuen Datei versucht? –