¿Como guardar la tabla exportada a excel con un nombre? – javascript html excel

Pregunta:


Estoy usando el siguiente código para exportar una tabla html a excel, y me funciona perfecto, pero el archivo lo guarda con nombre de “descarga” y lo que quiero saber es ¿hay una manera de guardar el archivo excel con el nombre que yo quiera?

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 version="1.0" encoding="UTF-8" standalone="yes"?>
                          <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))
    }
})()

Preguntado por: Omar Cabrera

Fuente

Add a Comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *