1.不兼容IE瀏覽器
2.利用ES6模板字符串
<div class="columns" style="display: inline-block;float:left;padding-bottom:10px">
<button type="button" class="btn btn-success exportClass" οnclick="exportExcel()" >
<i class="fa fa-download" aria-hidden="true"></i>導出
</button>
</div>
var data=[{
'生產工單號':'4444444',
'產品名稱':'4444444',
'完成數量':'4444444',
'實際工時':'4444444',
'工時文員':'4444444',
'業務日期':'4444444',
'關閉日期':'4444444',
'結算週期':'4444444',
'區域':'4444444',
'廠區':'4444444',
'分廠':'4444444',
'工序':'4444444',
}]
function exportExcel(){
toLargerCSV(data)
}
function toLargerCSV(data){
//CSV格式可以自己設定,適用MySQL導入或者excel打開。
//由於Excel單元格對於數字只支持15位,且首位爲0會捨棄 建議用 =“數值”
var str = '生產工單號,產品名稱,完成數量,實際工時,工時文員,業務日期,關閉日期,結算週期,區域,廠區,分廠,工序\n';
//具體數值 遍歷
for(let i = 0 ; i < data.length ; i++ ){
for(let item in data[i]){
//增加\t爲了不讓表格顯示科學計數法或者其他格式
//此處用`取代',具體用法搜索模板字符串 ES6特性
str+=`${data[i][item] + '\t,'}`;
}
str+='\n';
}
var blob = new Blob([str], {type: "text/plain;charset=utf-8"});
//解決中文亂碼問題
blob = new Blob([String.fromCharCode(0xFEFF), blob], {type: blob.type});
object_url = window.URL.createObjectURL(blob);
var link = document.createElement("a");
link.href = object_url;
link.download = "工單工時異常表.csv";
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
}