Я пытаюсь выполнить простую задачу в ColdFusion: создать файл Excel и загрузить его в браузер. У меня есть это:
<cfset local.sheet = SpreadsheetNew("My Spreadsheet", "true") />
<cfset SpreadsheetAddRow(local.sheet, "Col1,Col2,Col3") />
<cfheader name="content-disposition" value="attachment;filename=NiceName.xlsx" />
<cfcontent type="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" variable="#spreadsheetReadBinary(local.sheet)#" reset="true" />
Что отлично работало на CF9, но не на CF11. При открытии файла пишет:
Die Datei 'NiceName.xlsx' kann von Excel nicht geöffnet werden, da das Dateiformat oder die Dateierweiterung ungültig ist. Überprüfen Sie, ob die Datei beschädigt ist und ob die Dateierweiterung dem Dateiformat entspricht.
Что переводится как:
Excel не может открыть файл "NiceName.xlsx", так как либо формат файла, либо окончание -недопустимы. Пожалуйста, проверьте, не поврежден ли файл и соответствует ли окончание файла формату файла.
Я могу:
<cfmailparam>
лист и получить файл по почте.<cfspreadsheet action="write">
лист и получите файл на сервере.
В обоих случаях файлы доступны для чтения.
Я пытался:
<cfspreadsheet action="write">
лист, а затем используйте<cfcontent file="#pathToFile#">
, что не работает.- Проверил свой IIS на предмет URL-Rewrite-Rules.
- Проверил свой IIS на наличие MIME-типа .xlsx. Это то же самое, что и в моем коде.
- Добавил в конце
<cfabort>
, чтобы больше ничего не происходило.
Но ничего не помогло.
Я использую:
- ColdFusion 11 (11,0,0,289974) с Tomcat 7.0.52.0
- Windows Server 2008 R2 Стандартная 64-разрядная версия
- Майкрософт Офис 2013
- ИИС 7.5.7600.16385
xmlformat=true
, это правильный MIME-тип. Проблема в другом. (Редактировать) Неважно. Я вижу, Твиллен уже упоминал об этом. - person Leigh   schedule 03.12.2014.xls
. - person James A Mohler   schedule 04.12.2014application/octet-stream
завтра, а затем, возможно, обновлю сервер.. Спасибо за все идеи! - person Boris   schedule 04.12.2014