Potrzebuję wyeksportować tabelę html na mojej stronie do programu Excel, gdy użytkownik kliknie przycisk "Eksportuj". Teraz znalazłem rozwiązanie tutaj na przepełnienie stosu, które działa w Firefoksie.Javascript do eksportu tabeli html do Excela
Export dynamic html table to excel in javascript in firefox browser
Teraz nie obsługuje znaków specjalnych, takich jak O, U, O, które są powszechne w językach używamy tu więc chciałem zapytać, czy ktoś wie jak mogę eksportować je z powodzeniem, jak również bez problemów ?
Oto mój kod:
function tabletoExcel(table, name) {
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]; }); };
if (!table.nodeType) table = document.getElementById(table);
var ctx = { worksheet: name || 'Worksheet', table: table.innerHTML };
window.location.href = uri + base64(format(template, ctx));
}
Za pomocą tej metody można eksportować tylko to, co jest widoczne na stronie. Czy wszystko w porządku z tym podejściem? – Candide
Tak. Właśnie to próbuję zrobić. Czasami pojawiają się nazwy ze znakami specjalnymi i nie są poprawnie eksportowane. Więc chcę wiedzieć, jakie kodowanie powinienem użyć? – Tulips
To nie działa w IE .. – Nayeem