{"id":422,"date":"2016-08-16T09:40:40","date_gmt":"2016-08-16T14:10:40","guid":{"rendered":"http:\/\/gregorgonzalez.com.ve\/blog\/?p=422"},"modified":"2016-08-16T09:40:40","modified_gmt":"2016-08-16T14:10:40","slug":"no-poder-abrir-archivos-de-excel-descargados-o-generados-por-php","status":"publish","type":"post","link":"http:\/\/gregorgonzalez.com.ve\/blog\/no-poder-abrir-archivos-de-excel-descargados-o-generados-por-php\/","title":{"rendered":"No poder abrir archivos de Excel descargados o generados por php"},"content":{"rendered":"<p>Desde hace d\u00edas por una actualizaci\u00f3n de seguridad Excel (<strong>KB3115262<\/strong> del 12 de julio de 2016), no he podido ver los archivos generados desde el sistema y los usuarios del mismo empezaron a presentar el mismo problema. Al intentar abrirlos, el Excel no responde o abre en gris, sin mostrar ninguna informaci\u00f3n.<\/p>\n<p>Este problema es generado principalmente por los archivos que no se codifican correctamente al generarse desde otro sistema, por ejemplo cuando se general desde php convirtiendo el html con cabeceras de tipo \u00abapplication\/vnd.ms-excel\u00bb. Al abrir dichos archivos puede aparecer un mensaje: \u201cEl formato y la extensi\u00f3n de archivo de \u2013NombreArchivo.xls- no coinciden. Puede que el archivo est\u00e9 da\u00f1ado o no sea seguro. No lo abra a menos que conf\u00ede en su origen. \u00bfDesea Abrirlo de todos modos? \u201d El cual con simplemente indicar \u201cS\u00ed\u201d, ya podremos acceder.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-423 aligncenter\" src=\"http:\/\/gregorgonzalez.com.ve\/blog\/wp-content\/uploads\/excel01.png\" alt=\"excel01\" width=\"880\" height=\"140\" srcset=\"http:\/\/gregorgonzalez.com.ve\/blog\/wp-content\/uploads\/excel01.png 880w, http:\/\/gregorgonzalez.com.ve\/blog\/wp-content\/uploads\/excel01-300x48.png 300w, http:\/\/gregorgonzalez.com.ve\/blog\/wp-content\/uploads\/excel01-768x122.png 768w\" sizes=\"(max-width: 880px) 100vw, 880px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Sin embargo en ocasiones puede no aparecer el mensaje, quedando la hoja en blanco o gris:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-424 aligncenter\" src=\"http:\/\/gregorgonzalez.com.ve\/blog\/wp-content\/uploads\/excel02.png\" alt=\"excel02\" width=\"1440\" height=\"900\" srcset=\"http:\/\/gregorgonzalez.com.ve\/blog\/wp-content\/uploads\/excel02.png 1440w, http:\/\/gregorgonzalez.com.ve\/blog\/wp-content\/uploads\/excel02-300x188.png 300w, http:\/\/gregorgonzalez.com.ve\/blog\/wp-content\/uploads\/excel02-768x480.png 768w, http:\/\/gregorgonzalez.com.ve\/blog\/wp-content\/uploads\/excel02-1024x640.png 1024w\" sizes=\"(max-width: 1440px) 100vw, 1440px\" \/><\/p>\n<h2><\/h2>\n<h2>Soluci\u00f3n<\/h2>\n<p>Lo ideal es utilizar librer\u00edas como PHPExcel <a href=\"https:\/\/phpexcel.codeplex.com\/\" target=\"_blank\">https:\/\/phpexcel.codeplex.com\/<\/a> la cual ya maneja internamente estas codificaciones. Si no puedes cambiar todos los reportes a esta librer\u00eda, tambi\u00e9n puedes intentar lo siguiente:<\/p>\n<p>Deshabilitar las opciones de vista protegida para archivos descargados de internet. Esto puede ser riesgoso si nos pasamos el d\u00eda abriendo cualquier archivo que descargamos de internet pero no ser\u00e1 un problema si conocemos que archivos estamos abriendo y su origen (sistema propio).<\/p>\n<p>Para ello abrimos el Excel y vamos a las opciones \u201cArchivo -&gt; Opciones -&gt; Centro de confianza -&gt; Configuraci\u00f3n del centro de confianza -&gt; Vista Protegida\u201d y quitamos la primera casilla \u201cHabilitar la Vista protegida para los archivos procedentes de Internet\u201d.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-425 aligncenter\" src=\"http:\/\/gregorgonzalez.com.ve\/blog\/wp-content\/uploads\/excel03.png\" alt=\"excel03\" width=\"437\" height=\"163\" srcset=\"http:\/\/gregorgonzalez.com.ve\/blog\/wp-content\/uploads\/excel03.png 437w, http:\/\/gregorgonzalez.com.ve\/blog\/wp-content\/uploads\/excel03-300x112.png 300w\" sizes=\"(max-width: 437px) 100vw, 437px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-426 aligncenter\" src=\"http:\/\/gregorgonzalez.com.ve\/blog\/wp-content\/uploads\/excel04.png\" alt=\"excel04\" width=\"708\" height=\"628\" srcset=\"http:\/\/gregorgonzalez.com.ve\/blog\/wp-content\/uploads\/excel04.png 708w, http:\/\/gregorgonzalez.com.ve\/blog\/wp-content\/uploads\/excel04-300x266.png 300w\" sizes=\"(max-width: 708px) 100vw, 708px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-427 aligncenter\" src=\"http:\/\/gregorgonzalez.com.ve\/blog\/wp-content\/uploads\/excel05.png\" alt=\"excel05\" width=\"936\" height=\"467\" srcset=\"http:\/\/gregorgonzalez.com.ve\/blog\/wp-content\/uploads\/excel05.png 936w, http:\/\/gregorgonzalez.com.ve\/blog\/wp-content\/uploads\/excel05-300x150.png 300w, http:\/\/gregorgonzalez.com.ve\/blog\/wp-content\/uploads\/excel05-768x383.png 768w\" sizes=\"(max-width: 936px) 100vw, 936px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-428 aligncenter\" src=\"http:\/\/gregorgonzalez.com.ve\/blog\/wp-content\/uploads\/excel06.png\" alt=\"excel06\" width=\"591\" height=\"430\" srcset=\"http:\/\/gregorgonzalez.com.ve\/blog\/wp-content\/uploads\/excel06.png 591w, http:\/\/gregorgonzalez.com.ve\/blog\/wp-content\/uploads\/excel06-300x218.png 300w\" sizes=\"(max-width: 591px) 100vw, 591px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Tambi\u00e9n hay otros medios que se pueden deshabilitar, \u201carchivos de ubicaciones no seguros\u201d y \u201cdatos adjuntos de Outlook\u201d, que puede suceder el mismo inconveniente si enviamos dichos archivos por correo.<\/p>\n<p>&nbsp;<\/p>\n<h3>Adicional<\/h3>\n<p>Con esto ser\u00eda suficiente, pero si el problema persiste o si tiende a cambiarse la configuraci\u00f3n con cada nueva actualizaci\u00f3n, podemos desinstalar solo dicha actualizaci\u00f3n, la <strong>KB3115262<\/strong>. La podemos buscar en \u201cPanel de control -&gt; Programas -&gt; Programas y caracter\u00edsticas -&gt; Ver actualizaciones instaladas\u201d.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-429 aligncenter\" src=\"http:\/\/gregorgonzalez.com.ve\/blog\/wp-content\/uploads\/excel07.png\" alt=\"excel07\" width=\"1127\" height=\"371\" srcset=\"http:\/\/gregorgonzalez.com.ve\/blog\/wp-content\/uploads\/excel07.png 1127w, http:\/\/gregorgonzalez.com.ve\/blog\/wp-content\/uploads\/excel07-300x99.png 300w, http:\/\/gregorgonzalez.com.ve\/blog\/wp-content\/uploads\/excel07-768x253.png 768w, http:\/\/gregorgonzalez.com.ve\/blog\/wp-content\/uploads\/excel07-1024x337.png 1024w\" sizes=\"(max-width: 1127px) 100vw, 1127px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-430 aligncenter\" src=\"http:\/\/gregorgonzalez.com.ve\/blog\/wp-content\/uploads\/excel08.png\" alt=\"excel08\" width=\"1280\" height=\"460\" srcset=\"http:\/\/gregorgonzalez.com.ve\/blog\/wp-content\/uploads\/excel08.png 1280w, http:\/\/gregorgonzalez.com.ve\/blog\/wp-content\/uploads\/excel08-300x108.png 300w, http:\/\/gregorgonzalez.com.ve\/blog\/wp-content\/uploads\/excel08-768x276.png 768w, http:\/\/gregorgonzalez.com.ve\/blog\/wp-content\/uploads\/excel08-1024x368.png 1024w\" sizes=\"(max-width: 1280px) 100vw, 1280px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Podemos buscar por criterio \u201cSecurity\u201d o por la actualizaci\u00f3n <strong>KB3115262<\/strong> directamente, en este caso tengo el office 2013, deber\u00eda ser el mismo para los otros.<\/p>\n<p>Toma en cuenta que puede volverse a instalar en otras actualizaciones o si tienes el Windows update autom\u00e1tico, antes en Windows anteriores pod\u00edamos elegir que instalar y que actualizaciones evitar, ahora en Windows 10 no se puede.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-431 aligncenter\" src=\"http:\/\/gregorgonzalez.com.ve\/blog\/wp-content\/uploads\/excel09.png\" alt=\"excel09\" width=\"1030\" height=\"652\" srcset=\"http:\/\/gregorgonzalez.com.ve\/blog\/wp-content\/uploads\/excel09.png 1030w, http:\/\/gregorgonzalez.com.ve\/blog\/wp-content\/uploads\/excel09-300x190.png 300w, http:\/\/gregorgonzalez.com.ve\/blog\/wp-content\/uploads\/excel09-768x486.png 768w, http:\/\/gregorgonzalez.com.ve\/blog\/wp-content\/uploads\/excel09-1024x648.png 1024w\" sizes=\"(max-width: 1030px) 100vw, 1030px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Para evitar la actualizaci\u00f3n podemos deshabilitarla para productos de Microsoft y de esta manera evitar que se actualice el office pero preservando las actualizaciones de Windows.<\/p>\n<p>Vamos a \u201cWindows update\u201d o \u201cConfiguraci\u00f3n de windows update\u201d e ingresamos a opciones avanzadas.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-432 aligncenter\" src=\"http:\/\/gregorgonzalez.com.ve\/blog\/wp-content\/uploads\/excel10.png\" alt=\"excel10\" width=\"1029\" height=\"460\" srcset=\"http:\/\/gregorgonzalez.com.ve\/blog\/wp-content\/uploads\/excel10.png 1029w, http:\/\/gregorgonzalez.com.ve\/blog\/wp-content\/uploads\/excel10-300x134.png 300w, http:\/\/gregorgonzalez.com.ve\/blog\/wp-content\/uploads\/excel10-768x343.png 768w, http:\/\/gregorgonzalez.com.ve\/blog\/wp-content\/uploads\/excel10-1024x458.png 1024w\" sizes=\"(max-width: 1029px) 100vw, 1029px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Y Desactivamos la primera casilla:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-433 aligncenter\" src=\"http:\/\/gregorgonzalez.com.ve\/blog\/wp-content\/uploads\/excel11.png\" alt=\"excel11\" width=\"1029\" height=\"803\" srcset=\"http:\/\/gregorgonzalez.com.ve\/blog\/wp-content\/uploads\/excel11.png 1029w, http:\/\/gregorgonzalez.com.ve\/blog\/wp-content\/uploads\/excel11-300x234.png 300w, http:\/\/gregorgonzalez.com.ve\/blog\/wp-content\/uploads\/excel11-768x599.png 768w, http:\/\/gregorgonzalez.com.ve\/blog\/wp-content\/uploads\/excel11-1024x799.png 1024w\" sizes=\"(max-width: 1029px) 100vw, 1029px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Otra forma de evitar la actualizaci\u00f3n es ocult\u00e1ndola, como en Windows 10 ya no existe esa opci\u00f3n, Microsoft tiene un programa que podemos descargar e instalar para ocultar actualizaciones. Ver art\u00edculo: <a href=\"http:\/\/gregorgonzalez.com.ve\/blog\/ocultar-actualizaciones-en-windows-10\/\" target=\"_blank\">Ocultar actualizaciones en windows 10<\/a><\/p>\n<p>&nbsp;<\/p>\n<h3>Opcional<\/h3>\n<p>Si quieres evitar el dialogo al abrir un Excel, ejemplo:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-423 aligncenter\" src=\"http:\/\/gregorgonzalez.com.ve\/blog\/wp-content\/uploads\/excel01.png\" alt=\"excel01\" width=\"880\" height=\"140\" srcset=\"http:\/\/gregorgonzalez.com.ve\/blog\/wp-content\/uploads\/excel01.png 880w, http:\/\/gregorgonzalez.com.ve\/blog\/wp-content\/uploads\/excel01-300x48.png 300w, http:\/\/gregorgonzalez.com.ve\/blog\/wp-content\/uploads\/excel01-768x122.png 768w\" sizes=\"(max-width: 880px) 100vw, 880px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Podemos evitarlo editando el registro de Windows, ingresamos a \u201cregedit\u201d, ya sea busc\u00e1ndolo en el buscador de inicio o desde ejecutar.<\/p>\n<p>Luego nos dirigimos a la entrada donde tenemos instalado nuestro office, puede variar seg\u00fan la versi\u00f3n de office, 14, 15, 16 o incluso tener los tres o m\u00e1s.<\/p>\n<p>HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Office\\15.0\\Excel\\Security<\/p>\n<p>Al seleccionar dicha carpeta security, a la derecha se desplegar\u00e1 las claves u opciones establecidas, en este caso buscamos la que indique <strong>ExtensionHardening<\/strong> pero com\u00fanmente no existe y debemos crearla. Si ya existe simplemente le damos doble clic y establecemos el valor en cero.<\/p>\n<p>Si no existe:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-434 aligncenter\" src=\"http:\/\/gregorgonzalez.com.ve\/blog\/wp-content\/uploads\/excel13.png\" alt=\"excel13\" width=\"1068\" height=\"618\" srcset=\"http:\/\/gregorgonzalez.com.ve\/blog\/wp-content\/uploads\/excel13.png 1068w, http:\/\/gregorgonzalez.com.ve\/blog\/wp-content\/uploads\/excel13-300x174.png 300w, http:\/\/gregorgonzalez.com.ve\/blog\/wp-content\/uploads\/excel13-768x444.png 768w, http:\/\/gregorgonzalez.com.ve\/blog\/wp-content\/uploads\/excel13-1024x593.png 1024w\" sizes=\"(max-width: 1068px) 100vw, 1068px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Hacemos clic derecho en la carpeta \u201cSecurity\u201d y luego en \u201cNuevo -&gt; Valor de Dword (32 bits)\u201d<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-435 aligncenter\" src=\"http:\/\/gregorgonzalez.com.ve\/blog\/wp-content\/uploads\/excel14.png\" alt=\"excel14\" width=\"536\" height=\"238\" srcset=\"http:\/\/gregorgonzalez.com.ve\/blog\/wp-content\/uploads\/excel14.png 536w, http:\/\/gregorgonzalez.com.ve\/blog\/wp-content\/uploads\/excel14-300x133.png 300w\" sizes=\"(max-width: 536px) 100vw, 536px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>El cual creamos con nombre: <strong>ExtensionHardening<\/strong><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-436 aligncenter\" src=\"http:\/\/gregorgonzalez.com.ve\/blog\/wp-content\/uploads\/excel15.png\" alt=\"excel15\" width=\"575\" height=\"124\" srcset=\"http:\/\/gregorgonzalez.com.ve\/blog\/wp-content\/uploads\/excel15.png 575w, http:\/\/gregorgonzalez.com.ve\/blog\/wp-content\/uploads\/excel15-300x65.png 300w, http:\/\/gregorgonzalez.com.ve\/blog\/wp-content\/uploads\/excel15-570x124.png 570w\" sizes=\"(max-width: 575px) 100vw, 575px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Y autom\u00e1ticamente se crea en cero, podemos hacer doble clic para verificar:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-437 aligncenter\" src=\"http:\/\/gregorgonzalez.com.ve\/blog\/wp-content\/uploads\/excel16.png\" alt=\"excel16\" width=\"346\" height=\"214\" srcset=\"http:\/\/gregorgonzalez.com.ve\/blog\/wp-content\/uploads\/excel16.png 346w, http:\/\/gregorgonzalez.com.ve\/blog\/wp-content\/uploads\/excel16-300x186.png 300w\" sizes=\"(max-width: 346px) 100vw, 346px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>El valor en 1 indica que preguntar\u00e1 al abrir archivos desconocidos de Excel, el valor 2 no aparecer\u00e1 ning\u00fan dialogo y no abrir\u00e1 los archivos dejando el Excel en gris, la opci\u00f3n 0 indica que no preguntar\u00e1 y abrir\u00e1 cualquier archivo.<\/p>\n<p>Si trabajamos con PHPExcel, no necesitamos realizar ning\u00fan cambio porque los archivos generados est\u00e1n correctamente codificados y no aparece ning\u00fan dialogo.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Desde hace d\u00edas por una actualizaci\u00f3n de seguridad Excel (KB3115262 del 12 de julio de 2016), no he podido ver los archivos generados desde el sistema y los usuarios del mismo empezaron a presentar el mismo problema. Al intentar abrirlos, el Excel no responde o abre en gris, sin mostrar ninguna informaci\u00f3n. Este problema es [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":438,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"footnotes":""},"categories":[151],"tags":[165,164,166,167],"_links":{"self":[{"href":"http:\/\/gregorgonzalez.com.ve\/blog\/wp-json\/wp\/v2\/posts\/422"}],"collection":[{"href":"http:\/\/gregorgonzalez.com.ve\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/gregorgonzalez.com.ve\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/gregorgonzalez.com.ve\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/gregorgonzalez.com.ve\/blog\/wp-json\/wp\/v2\/comments?post=422"}],"version-history":[{"count":0,"href":"http:\/\/gregorgonzalez.com.ve\/blog\/wp-json\/wp\/v2\/posts\/422\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/gregorgonzalez.com.ve\/blog\/wp-json\/wp\/v2\/media\/438"}],"wp:attachment":[{"href":"http:\/\/gregorgonzalez.com.ve\/blog\/wp-json\/wp\/v2\/media?parent=422"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/gregorgonzalez.com.ve\/blog\/wp-json\/wp\/v2\/categories?post=422"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/gregorgonzalez.com.ve\/blog\/wp-json\/wp\/v2\/tags?post=422"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}