이 플러그인을 사용하고 싶지 않다면 이미 다른 사람이 작성한 자바 스크립트가 있습니다. 방금 파일 이름을 기본 이름 대신 사용하도록 수정했습니다.
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]--><meta http-equiv="content-type" content="text/plain; charset=UTF-8"/></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
}
var blob = new Blob([format(template, ctx)]);
var blobURL = window.URL.createObjectURL(blob);
return blobURL;
}
})()
이 될 이름을 설정하는 JQuery와 :
$("#btnExport").click(function() {
var todaysDate = moment().format('DD-MM-YYYY');
var blobURL = tableToExcel('account_table', 'test_table');
$(this).attr('download',todaysDate+'.xls')
$(this).attr('href',blobURL);
});
예 :Fiddle
참고 : 코드가 Link1 Link2
출처
2014-07-05 02:06:23
V31
입니까? – algorhythm
문서는 이것을 말합니다. 생성 된 파일 이름을 어떻게 바꿀 수 있는지는 아직 명확하지 않지만'ReturnUri : (Boolen), 사용자가 다른 다운로드 파일 이름을 지정하고 데이터 파일 URI를 사용해야하는 경우에 해당됩니다. ' –
이 플러그인을 사용하는 것이 의무입니까? 그렇지 않으면 우리는 기본 자바 스크립트 코드 – V31