2014-01-24 4 views
1

Мне нужно манипулировать файлами xls, которые читаются из вложений электронной почты. По соображениям производительности мне нужно использовать жемчужину Roo. Проблема здесь заключается в передаче привязанности к Roo. Драгоценные камни таблицы могут читать StringIO напрямую, но Roo, похоже, не обладает такой способностью. (Is there any way to get Roo to accept StringIO objects in place of files?)Открытие вложения электронной почты с roo

Я нашел это решение

attachment = mail.attachments.first 
file = Tempfile.new(['attachment', '.xls'], :encoding => 'ascii-8bit') 
file.write StringIO.new(attachment.body.decoded).read 
excel = Roo::Excel.new(file.path) 

Но это предполагает написание временный файл в файловой системе, которую я хотел бы избавиться.

Есть ли способ создать виртуальный файл?

ответ

1

Нет лучшего способа открыть Excel из приложения электронной почты с Roo.

Смежные вопросы