tengo este codigo el cual me genera un excel con una determinada informacion traida desde la base de datos.
Código xmls-coldfusion:
Ver original
<cfcontent type="application/vnd.ms-excel"> <cfheader name="Content-Disposition" value="inline; filename=dealssold.xls"> <?xml version="1.0" encoding="ISO-8859-1"?> <Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40"> <cfquery name="count_sold" datasource="#application.DSN.Source#"> SELECT COUNT(*) as rest from (SELECT a.date_coupon_sold FROM sold_deals a INNER JOIN deals b ON b.dealsid=a.dealsid INNER JOIN site c ON c.siteid=b.siteid INNER JOIN addresses d ON d.addressid=c.addressid INNER JOIN cities e ON e.cityid=d.cityid WHERE MONTH(date_coupon_sold) =<cfoutput>#FORM.month_sold#</cfoutput> AND YEAR(date_coupon_sold)=<cfoutput>#FORM.year_sold#</cfoutput> AND e.cityid=<cfqueryparam value="#session.infocity#">) AS rest1; </cfquery> <cfquery name="info_deals" datasource="#application.DSN.Source#"> SELECT a.*,b.*,c.*,d.*,e.* FROM sold_deals a INNER JOIN deals b ON b.dealsid=a.dealsid INNER JOIN site c ON c.siteid=b.siteid INNER JOIN addresses d ON d.addressid=c.addressid INNER JOIN cities e ON e.cityid=d.cityid WHERE MONTH(date_coupon_sold) =<cfoutput>#FORM.month_sold#</cfoutput> AND YEAR(date_coupon_sold)=<cfoutput>#FORM.year_sold#</cfoutput> AND e.cityid=<cfqueryparam value="#session.infocity#"> GROUP BY title; </cfquery> <Worksheet ss:Name="subscribers"> <Table> <Row> <Cell ss:Index="5"> <Data ss:Type="String" class="titlereports" > Ventas del Mes de <cfoutput>#LSdateformat(info_deals.date_coupon_sold,('MMMM YYYY'))#</cfoutput> </Data> </Cell> </Row> <Row ss:Index="3"> <Cell ss:Index="2"><Data ss:Type="String">Numero de Ventas en el Mes:</Data></Cell> <Cell><Data ss:Type="Number"><cfoutput>#count_sold.rest#</cfoutput></Data></Cell> </Row> <Row> <Cell ss:Index="2"><Data ss:Type="String">Ciudad:</Data></Cell> <Cell><Data ss:Type="String"><cfoutput>#info_deals.cityname#</cfoutput></Data></Cell> </Row> <Row> <Cell ss:Index="2"><Data ss:Type="String"></Data></Cell> </Row> <cfloop query="info_deals"> <Row> <Cell ss:Index="2"><Data ss:Type="String">Oferta</Data></Cell> <Cell><Data ss:Type="String"> <cfoutput>#info_deals.title#</cfoutput></Data></Cell> </Row> <Row> <Cell ss:Index="2"><Data ss:Type="String">Fecha Oferta inicial:</Data></Cell> <Cell> <Data ss:Type="String"> <cfoutput>#Lsdateformat(info_deals.end_date,('DD-MMMM-YYYY'))# Hora #timeformat(info_deals.end_date,('HH:MM:SS'))#</cfoutput> </Data> </Cell> <Cell ><Data ss:Type="String">Fecha Oferta Final:</Data></Cell> <Cell> <Data ss:Type="String"> <cfoutput>#Lsdateformat(info_deals.end_date,('DD-MMMM-YYYY'))# Hora #timeformat(info_deals.end_date,('HH:MM:SS'))#</cfoutput> </Data> </Cell> </Row> <Row> <Cell ss:Index="2"><Data ss:Type="String"></Data></Cell> <Cell><Data ss:Type="String"></Data></Cell> </Row> <Row> <Cell ss:Index="2"><Data ss:Type="String">Vendidas</Data></Cell> <Cell ><Data ss:Type="String">precio</Data></Cell> <Cell ><Data ss:Type="String">Descuento</Data></Cell> <Cell ><Data ss:Type="String">Ahorro</Data></Cell> </Row> <Row> <Cell ss:Index="2"><Data ss:Type="Number"><cfoutput>#info_deals.number_sales#</cfoutput></Data></Cell> <Cell ><Data ss:Type="Number"><cfoutput>#info_deals.price#</cfoutput></Data></Cell> <Cell ><Data ss:Type="Number"><cfoutput>#info_deals.discount#</cfoutput></Data></Cell> <Cell ><Data ss:Type="Number"><cfoutput>#info_deals.savings#</cfoutput></Data></Cell> </Row> <Row> <Cell ss:Index="2"><Data ss:Type="String"></Data></Cell> </Row> </cfloop> </Table> </Worksheet> <!--- <Worksheet ss:Name="Worksheet 2"> <Table> <Row> <Cell ss:Index="1"><Data ss:Type="String">Test Data 2</Data></Cell> </Row> </Table> </Worksheet>---> </Workbook>
Este codigo me genera bien el excel, el problema es que me lo crea en formato de office 2003. me gustaria saber como hacer para que me lo genere en el formato de office 2010?
lo que me aparece es esto:pienso que es por la extencion del archivo,pero si es por otra cosa les agradeceria su ayuda
Código:
si uno escoje la opcion "si" lo abre normal y solo es cuestion de guardarlo en formato del office 2010. pero quisiera evitar esto.el archivo que intenta abrir 'nombrearchivo.xls' tiene otro formato que el especificado por la extencion de archivo. compruebe que el archivo no esta dañado y procede de un origen de confianza antes de abrirlo. desea abrir el archivo ahora?
les agradeceria su ayuda.gracias