ES6導出數據生成文檔xls或csv (1)

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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章