Загруженный в Excel файл Excel с использованием метода send_data выдает ошибку формата - PullRequest
1 голос
/ 15 октября 2019

Я загружаю данные в формате Excel в своем приложении на Rails 4, используя метод send_data, как указано ниже.

send_data collection.to_csv(col_sep: "\t"), 
    type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
    filename: 'filename.xls'

Я могу загрузить данные, но, открывая загруженный файл Excel, я получаю предупреждение ниже.

The file format and extension of 'file.xls' don't match. The file could be corrupted or unsafe.
Unless you trust its source, dont open it. D want to open it anyway?

Даже если это предупреждение, это может привести к путаницеклиентам при загрузке и открытии файла. Любой имеет какое-либо представление о том, что это такое и как это можно исправить?

Любая помощь будет принята с благодарностью.

1 Ответ

1 голос
/ 15 октября 2019

Это не файл XLS, который вы создаете, а файл CSV, поэтому вы должны изменить имя файла на 'filename.csv'. Он по-прежнему будет доступен в Excel.

Возможно, вы также захотите изменить тип MIME на text/csv.

Правильный MIME для файла Excel можно найти здесь .

...