validos son solucion reparar recuperar que puedo puede porque muy los lento guardar guarda formato extension este esta errores detectaron dañado como cierra cambios archivos archivo abrir abre excel coldfusion

son - ¿Cómo suprimir la advertencia de archivo corrupto en la descarga de Excel?



no puedo abrir excel (8)

Para el antiguo formato de Excel (.xls)

Suponiendo que cree su objeto de hoja de cálculo con esta sintaxis:

<cfset sheet = SpreadsheetNew() />

Usaría esto para crear la descarga:

<cfheader name="content-disposition" value="attachment;filename=my_spreadsheet.xls"> <cfcontent type="application/vnd.ms-excel" variable="#spreadsheetReadBinary(sheet)#" reset="true">

Para el nuevo formato de Excel (.xlsx)

Crea tu objeto de hoja de cálculo con esta sintaxis:

<cfset sheet = SpreadsheetNew("", "true") />

Y usa esto para crear la descarga:

<cfheader name="content-disposition" value="attachment;filename=my_xml_spreadsheet.xlsx"> <cfcontent type="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" variable="#spreadsheetReadBinary(sheet)#" reset="true">

Gracias a Raymond Camden por la mayor parte de esto (su ejemplo fue para crear la hoja de cálculo en el formato anterior; actualicé para el formato más nuevo y uso valores MIME ligeramente diferentes).

Tengo una página web que enlaza con una hoja de cálculo de Excel 2007. Es un archivo .xls y no un archivo .xlsx . Cuando hago clic en el enlace, aparece el cuadro de diálogo habitual para abrir / guardar el archivo de Excel. Al hacer clic en "Abrir", aparece el siguiente mensaje de advertencia:

El archivo que está intentando abrir, ''filename.xls'' está en un formato diferente al especificado por la extensión del archivo. Verifique que el archivo no esté dañado y provenga de una fuente confiable antes de abrir el archivo. ¿Quieres abrir el archivo ahora?

¿Puedo explicar cómo suprimir este mensaje de advertencia mediante programación (es decir, para ocultarlo o evitar que aparezca)? Estoy utilizando ColdFusion para el desarrollo web.


El mensaje sugiere que el contenido del archivo y la extensión del archivo no coinciden. Entonces, o es un archivo XLSX o el archivo actual en el servidor está roto de alguna manera. Le sugiero que intente abrir el archivo con una herramienta ZIP. Si eso funciona, es realmente un archivo en formato XLSX. A continuación, puede corregir la advertencia cambiando el nombre del archivo.

Si ese no es el caso, algo le pasó al archivo.

Pero de cualquier manera, suprimir la advertencia no es una solución a su problema. La próxima vez que nakedgrls.gif.exe un virus y le pida a sus clientes que abran nakedgrls.gif.exe , es mejor que no se nakedgrls.gif.exe con la configuración de seguridad.


Este problema se debe a una característica llamada Ampliación de la extensión, y puede encontrar más información al respecto here

Me he topado con este problema mucho en mis proyectos, y como dijo Jon, apagar el endurecimiento de la extensión es algo que debe hacer cada usuario del lado del cliente.

Desafortunadamente, el enlace anterior también indica que no hay cambios esperados en este código hasta al menos Office 14.


No creo que puedas ocultarlo del usuario. Ese tipo de advertencias son externas a su navegador.


Si está utilizando el práctico truco de cfcontent para imprimir como un archivo de Excel, considere usar cfx_query2excel, se escribirán archivos de Excel reales que lo harán pasar por alto. Es una biblioteca de Java y valió la pena.

La mejor de las suertes.


Si no desea buscar una solución, pero solo desea resolver el problema, inserte esta clave en su registro para suprimir la notificación:

[HKEY_CURRENT_USER / Software / Microsoft / Office / 12.0 / Excel / Security] “ExtensionHardening” = dword: 00000000

Puedes lograr lo anterior haciendo lo siguiente:

  1. Abra su registro (Inicio -> Ejecutar -> regedit.exe)
  2. Vaya a HKEY_CURRENT_USER / SOFTWARE / MICROSOFT / OFFICE / 12.0 / EXCEL / SECURITY
  3. Haga clic derecho en la ventana derecha y elija Nuevo -> DWORD
  4. Escriba "ExtensionHardening" como el nombre (sin las comillas)
  5. Verifique que los datos tengan el valor “0 ″.

Si no está especificando la extensión del archivo, es probable que reciba su nombre como archivo .cfm con el tipo de contenido como "application / vnd-excel", lo que provoca esta advertencia.

Intente agregar esto antes de que comience la salida del archivo:

<cfheader name="Content-Disposition" value="attachment;filename=myexcelfile.xls"> <cfcontent type="application/ms-excel" reset="true">


Tuve el mismo tipo de problema y el cliente se quejaba de ello. Había hecho mucho googlear, pero no hubo suerte. Finalmente, he creado una hoja de cálculo usando cfspreadsheet, sé que requiere un trabajo adicional que la creación directa a través de HTML, pero elimina la advertencia.