Опираясь на ответ @Ciaran Archer, я обычно использую для этого CSV, который Excel откроет из Интернета, если он будет установлен на компьютере клиента.Предполагая, что данные, с которыми вы работаете, поступают из базы данных, используйте QueryToCSV () с сайта Бена Наделя следующим образом:
<cfquery name="data" datasource="">
...
</cfquery>
<cfinclude template="fun_queryToCSV.cfm">
<cfheader name="Content-Disposition" value="filename=my-file-name.xls">
<cfcontent type="test/csv" reset="true">
<cfoutput>#querytoCSV(data)#</cfoutput>
«Сброс» на cfcontent очищаетбуфер ответа, так что единственное, что находится внутри него, это то, что следует после.С другой стороны, если у вас уже есть данные в виде файла, у cfcontent есть атрибут «файл», который будет напрямую обслуживать его содержимое.