1.不兼容IE浏览器
2.利用ES6模板字符串
<div class="columns" style="display: inline-block;float:left;padding-bottom:10px">
<button type="button" class="btn btn-success exportClass" onclick="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);
}