una tablas tabla recorrer obtener filas editar dinamicas datos con agregar javascript excel firefox

tablas - Exportar tabla html dinámica para sobresalir en javascript en el navegador Firefox



tablas dinamicas html javascript (4)

AFAIK no existe una biblioteca para crear un archivo de Excel real en JavaScript, pero puede intentar exportar la tabla en HTML a un archivo con la extensión .xls.

¿Quiere exportar la tabla html dinámica para sobresalir en javascript? ¿Hay alguna manera de hacerlo en el navegador Firefox sin usar el objeto ActiveX en el código. Por favor, ayúdenme


Hay una extensión table2clipboard para firefox. También puede generar la salida csv desde el árbol DOM manualmente y dejar que el usuario la guarde como un archivo csv. Excel puede importar desde CSV.


Puede generar dinámicamente el archivo de Excel en formato SpreadsheetDataXML, que le permite personalizar la tabla, los estilos de celda y el formato en sintaxis HTML.

Para que esto funcione en IE, deberá usar el objeto Blob y luego llamar al método msSaveBlob. Para FF y Chrome, solo puede cambiar los datos de href a data: application / vnd.ms-excel

function fnExcelReport() { 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 border=''1px''>"; tab_text = tab_text + $(''#myTable'').html(); tab_text = tab_text + ''</table></body></html>''; var data_type = ''data:application/vnd.ms-excel''; var ua = window.navigator.userAgent; var msie = ua.indexOf("MSIE "); if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv/:11/./)) { if (window.navigator.msSaveBlob) { var blob = new Blob([tab_text], { type: "application/csv;charset=utf-8;" }); navigator.msSaveBlob(blob, ''Test file.xls''); } } else { $(''#test'').attr(''href'', data_type + '', '' + encodeURIComponent(tab_text)); $(''#test'').attr(''download'', ''Test file.xls''); } }

Ejemplo de trabajo: http://jsfiddle.net/h42y4ke2/21/ YT tutorial: https://www.youtube.com/watch?v=gx_yGY6NHkc


Aquí hay una función para hacer esto en Firefox con JavaScript, asumiendo que el usuario tiene Excel instalado en su máquina:

var tableToExcel = (function() { var uri = ''data:application/vnd.ms-excel;base64,'' , template = ''<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--></head><body><table>{table}</table></body></html>'' , base64 = function(s) { return window.btoa(unescape(encodeURIComponent(s))) } , format = function(s, c) { return s.replace(/{(/w+)}/g, function(m, p) { return c[p]; }) } return function(table, name) { if (!table.nodeType) table = document.getElementById(table) var ctx = {worksheet: name || ''Worksheet'', table: table.innerHTML} window.location.href = uri + base64(format(template, ctx)) } })()

Ejemplo de Live jsFiddle: