descargar - exportar tabla html a excel javascript
Exportar tabla HTML a Excel: no se abre en Office 2010 (8)
En lugar de hacer:
Desmarcamos la primera opción que dice: "Habilitar la Vista protegida para archivos que se originan en Internet" que no es seguro
Hacer esto:
Vaya a Propiedades del archivo y haga clic en Desbloquear (si sabe que el archivo es seguro).
Imagen: vaya a Propiedades del archivo y haga clic en Desbloquear
Estoy usando el siguiente código Javascript para generar un Excel sobre la marcha, que convierte la tabla HTML en una hoja de cálculo.
El archivo de Excel no se abre en Office 2010, se muestra en blanco. La misma hoja de cálculo se abre con Openoffice. ¿Cuál puede ser el problema? ¿Esto está relacionado con la encoding
function ExcelReport() {
var tab_text = ''<html xmlns:x="urn:schemas-microsoft-com:office:excel">'';
tab_text = tab_text + ''<head><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet>'';
tab_text = tab_text + ''<x:Name>Test Sheet</x:Name>'';
tab_text = tab_text + ''<x:WorksheetOptions><x:Panes></x:Panes></x:WorksheetOptions></x:ExcelWorksheet>'';
tab_text = tab_text + ''</x:ExcelWorksheets></x:ExcelWorkbook></xml></head><body>'';
tab_text = tab_text + "<table>";
var headingTable = $(''#h_tbl'').clone();
tab_text = tab_text + headingTable.html();
tab_text = tab_text + ''</table>'';
$(''.c_tbl'').each(function( index ) {
tab_text = tab_text + "<table>";
tab_text = tab_text + "<tr><td></td></tr><tr><td></td></tr>";
tab_text = tab_text + ''</table>'';
tab_text = tab_text + "<table>";
var exportTable = $(this).clone();
tab_text = tab_text + exportTable.html();
tab_text = tab_text + ''</table>'';
});
tab_text = tab_text + ''</body></html>'';
var fileName = name + ''.xls'';
var blob = new Blob([tab_text], { type: "application/vnd.ms-excel;charset=utf-8" })
window.saveAs(blob, wo_var + ".xls");
}
Cuando abro Excel en el bloc de notas, el código html se parece al siguiente
<html xmlns:x="urn:schemas-microsoft-com:office:excel"><head><meta http-equiv="content-type" content="text/plain; charset=UTF-8"/></head><body><table>
<tbody><tr><td>abc:</td></tr></tbody></table></body></html>
Está guardando un archivo con contenido HTML como *.xls
. Excel puede abrir esto pero normalmente mostrará un mensaje de advertencia:
El archivo que está intentando abrir, ''nombre.ext'', 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?
Si esa advertencia no ocurre y el archivo no se abre, entonces tal vez el
DWORD
Value ExtensionHardening
en HKEY_CURRENT_USER/Software/Microsoft/Office/<version number>/Excel/Security
se establece en 2
en Windows Registry
Eso significa "Verifique la extensión del nombre de archivo y el tipo de archivo. Si no coinciden, no abra el archivo".
Ver https://support.microsoft.com/en-us/kb/948615 .
Tal vez su administrador haya establecido esto a través de la configuración de la Política de grupo. Si se encuentra en una red administrada, pregunte a su administrador.
Si es su propio administrador, busque esa configuración de registro y cámbiela a 1
, el valor predeterminado.
Microsoft parchó Excel el 9 de agosto para restaurar la funcionalidad original. Desplácese para publicar el 9 de agosto en este hilo para obtener más información: https://social.technet.microsoft.com/Forums/en-US/d2d84793-9920-45e3-baef-5027a4ac1ae0/kb3170008-for-office-2016-breaks-functionality-ms16088?forum=officeitpro
La actualización de Excel me solucionó el problema.
Para aquellos más paranoicos de seguridad, vi otra respuesta en el sitio de SalesForce, que debería funcionar también: https://success.salesforce.com/answers#!/feedtype=SINGLE_QUESTION_DETAIL&dc=All&criteria=BESTANSWERS&id=9063A000000iTIyQAM
Básicamente marcar el sitio desde el que está descargando de forma segura.
No lo he probado yo mismo
Básicamente abra el sitio web donde descargará archivos de Excel en Internet Explorer
Vaya a Configuración Opciones de Internet Seguridad Sitios de confianza Sitios Agregue
Esto debería agregar el sitio en cuestión según lo permitido y luego puede usar el navegador que desee, por ejemplo, Firefox / Chrome, etc.
Posibles soluciones para el problema:
Solución 1:
1) Escriba Regedit en el menú de inicio
2) Navegue al registro como,
En el registro: HKEY_CURRENT_USER / Software / Microsoft / Office // Excel / Security
donde =
15.0 for Office 2013
16.0 for Office 2016
12.0 for Office 2010
cree un valor DWORD (32 bits) y asígnele el nombre: ExtensionHardening. Los valores posibles son:
0: Do not check the file name extension and
the file type, and bypass the function of the warning message.
1: Check the file name extension and the file type.
If they do not match, display the warning message.
2: Check the file name extension and the file
type. If they do not match, do not open the file.
Usa 1 como el valor.
Solución 2:
Haga clic derecho en Excel -> Propiedades -> Desbloquear -> Ok.
SOlution 3
Desinstalar las actualizaciones:
Actualización de Windows KB3115272 (Excel 2016/64 bit)
Actualización de Windows KB3115262 (Excel 2013)
Actualización de Windows KB3115130 (Excel 2010)
Para obtener más información sobre el problema, consulte el siguiente enlace. https://social.technet.microsoft.com/Forums/en-US/d2d84793-9920-45e3-baef-5027a4ac1ae0/kb3170008-for-office-2016-breaks-functionality-ms16088?forum=officeitpro
Problema similar, mi código va de un GridView a un archivo XLS usando StringWriter, HTMLTextWriter y RenderControl.
Dado que nuestro código ASP.NET se ejecuta en una intranet de la empresa, desinstalamos las siguientes actualizaciones en toda la empresa en lugar de ir a cientos de PC de los usuarios y cambiar su configuración.
Desinstalado:
- Actualización de Windows KB3115262 (Excel 2013)
- Actualización de Windows KB3115130 (Excel 2010)
- Actualización de Windows KB3115272 (Excel 2016/64 bit)
Esto solucionó nuestro problema y también solucionaría el tuyo y el de otras personas afectadas por estas actualizaciones.
Tuve un problema similar, intranet sabio. La exportación de cuadrículas a HTML Excel de repente dejó de funcionar cuando el usuario hizo clic en abrir. Solución rápida, opción desplegable Guardar y Abrir o simplemente guardar y luego abrir.
Mi solución fue cambiar el contenido-disposición de adjunto a en línea. Ahora los usuarios obtienen la antigua página del centro emergente en lugar de la que está en la parte inferior y abierta funciona bien.
Tuvimos el mismo problema que muchas quejas de nuestros clientes. Lo rastreamos al parche de seguridad de Office de Excel KB3115262 - https://support.microsoft.com/en-us/kb/3115262 que salió el 12 de julio de 2016
Para evitar el problema, los clientes hicieron un cambio en su Excel para permitir archivos desde Internet.
Para solucionarlo: 1) Abra Excel Vaya a Opciones de archivo
2) Haga clic en Centro de confianza -> Configuración del centro de confianza
3) Ir a la Vista protegida. hay 3 opciones que muestran que todos fueron cliqueados
Desmarcamos la primera opción que dice: "Habilitar la vista protegida para los archivos que se originan en Internet"
Eso solucionó el problema. Quizás no sea la mejor solución. No estoy seguro de por qué esta KB en particular rompió esto, pero creo que tal vez el hecho de que el formato de archivo no se espera y esta configuración están en conflicto entre sí.
En una computadora que tengo que no tiene esta KB instalada, todas están marcadas y todavía funciona bien (no está en blanco, pero el formato del archivo de avisos es diferente) y creo que se muestra en una vista protegida.
Lo que nos llevó al hecho no es el contenido del archivo si notamos que guardamos el archivo en el bloc de notas o bloc de notas ++ sin hacer ningún cambio, el archivo se comporta bien, por lo que Excel debe leer alguna propiedad del archivo en lugar del contenido para bloquearlo .