Нет такого файла или каталога @ rb_sysopen – /tmp/oo_20161031-6508-1bswvam/roo_workbook.xml в рельсах
Я использую gem roo . Здесь я получаю ошибку как
Нет такого файла или каталога @ rb_sysopen – /tmp/oo_20161031-6508-1bswvam/roo_workbook.xml
Моя модельная кодировка,
- Импорт файла Excel с использованием Roo, ошибка: предоставление `упакованных` или` file_warning` в качестве отдельных аргументов для `Roo :: Excel.new` устарело
- Почему я не могу создать большой XLS (> 1000 строк)?
- Как добавить столбец в существующую строку с помощью axlsx gem?
- Rails загружает файл excel, проверяет и сохраняет
- Создать модель из xml и импортировать в базу данных
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
конец
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
конец
Он принимает параметры как,
"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"
Ошибка указывает в формате открытого файла. Какое правильное решение для этого.
Благодарю.
- Как создать столбец гиперссылок с драгоценным камнем axlsx
- Чтение и сохранение данных из файла Excel. Как разобрать файл - неопределенный метод `to_f 'для # <Массив: 0x1579b6a8>
- Rails + Spreadsheet gem: Как нажимать строку на лист без индекса?
- Совместимость с Excel и Ruby
- Rails 5 - как загружать файлы excel - учебные пособия не работают
- Обработка долгого процесса (загрузка больших файлов Excel); Ruby on Rails 4.0
- Получение ссылки на уже существующую книгу для манипуляций
- Rails 4, axlsx и actions_as_xlsx: Как сделать каждый столбец собственным листом?
Эта ошибка возникает, когда файл Excel сохраняется неправильно. Это делает головоломку, чтобы открыть файл приложением. Таким образом, проверка с помощью excel save или пути или версии является решением этой проблемы.