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, будут конвертировать автоматически, потому что они настроили его таким образом. Это единственное, что я вижу здесь.

Другие вопросы по тегам