JavaScript - eksport danych tabeli HTML do programu Excel


Próbuję przekonwertować tabele HTML do programu Excel, próbowałem z funkcją JavaScript, która konwertuje prostą tabelę do programu Excel, działa dobrze. Jeśli mam wiele tabel, jak będę mógł dodać wszystkie dane tabeli do pliku Excel. oto co próbowałem. Stworzyłem 2 tabele i dany indeks tabelitestTable itestTable1.

W jaki sposób przekażę te dwa identyfikatory tabel do funkcji JavaScript po kliknięciu przycisku? teraz po kliknięciu przycisku tylko pierwsza tabela jest eksportowana do programu Excel, gdy tylko przechodzę'testTable'. jak będę mógł eksportować wiele tabel, np .:testTable, testTable1 do programu Excel?

Oto JavaScript:

<script>

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))
}
})()

</script>

Oto część HTML,

<table id="testTable">
    <thead>
        <tr>
            <th>Name</th>
            <th>ACP</th>
            <th>OEMCP</th>
            <th>Unix<br>
                NT 3.1</th>
            <th>Unix<br>
                NT 3.51</th>
            <th>Unix<br>
                95</th>
        </tr>
    </thead>
</table>
<table id="testTable1">
    <thead>
        <tr>
            <th>Name</th>
            <th>ACP</th>
            <th>OEMCP</th>
            <th>Windows<br>
                NT 3.1</th>
            <th>Windows<br>
                NT 3.51</th>
            <th>Windows<br>
                95</th>
        </tr>
    </thead>
</table>

Daj mi znać, jak można to zrobić?
Dzięki

questionAnswers(3)

yourAnswerToTheQuestion