ColdFusion11: CFContent не записывает открываемый файл Excel
Я пытаюсь выполнить простую задачу в 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' Канн фон Эксель, который не может быть найден, а затем преобразован в формат DateTerweiterung ungültig ist. Überprüfen Sie, ob die Die Datei beschädigt ist und ob die Dateierweiterung dem Dateiformat entspricht.
Что означает что-то вроде:
Excel не может открыть файл "NiceName.xlsx", потому что формат файла или -ending недопустим. Проверьте, не поврежден ли файл и не совпадает ли окончание файла с форматом файла.
Я могу:
<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 Standard 64-разрядная версия
- Microsoft Office 2013
- IIS 7.5.7600.16385
1 ответ
Попробуйте использовать application/vnd.ms-excel
вместо разнообразия openoffice. Это будет особый тип пантомимы Excel. Люди, использующие openoffice, будут конвертировать автоматически, потому что они настроили его таким образом. Это единственное, что я вижу здесь.