話不多說直接上代碼
第一步:導入jquery的插件https://github.com/rainabba/jquery-table2excel
HTML部分:
第二步:添加一個按鈕
<button type="button" class="btn btn-default bt_derive">導出</button>
以及添加一個表格,這里需要注意一個地方,下面表格中有一個class類(class="noExl")他的目的就是讓不要顯示的列顯示出來
<div class="table-responsive">
<table class="table table-hover" id="test_table">
<thead>
<tr>
<th>序號</th>
<th>模具編號></th>
<th>模具名稱</th>
<th模具照片</th>
<th>產品圖號</th>
<th>產品名稱</th>
<th>入賬時間</th>
<th>生產班次</th>
<th>操作工</th>
<th>操作工號</th>
<th工單號</th>
<th>地域</th>
<th>模具狀態</th>
<th class="noExl">模具詳細</th>
<th class="noExl">模具保養</th>
<th class="noExl">模具維修</th>
<th style="width: 140px;" class="noExl">操作</th>
</tr>
</thead>
<tbody>
<!--因為我這個表格是動態的,所以沒有數據,但都是一樣的-->
</tbody>
</table>
</div>
js部分:
第三步:
$(function () {
//按鈕的點擊事件
$(".bt_derive").click(function () {
$(".table").table2excel({
exclude: ".noExl",
name: "Excel Document Name",
filename: "myFileName",
exclude_img: false,
exclude_links: true,
exclude_inputs: true
});
});
});
代碼到這里基本就完成了,但是因為有需求,這個表格里面有圖片,所以下面寫出我導入圖片的思路;
剛開始是這樣的:
照片直接就沒顯示出來
就想着,顯示不出來肯定是地址不對,剛開始代碼是這樣
給你們看下,我打印出來的圖片地址是什么樣的,也就是這個
console.log(data.T_blog[i].mouldPhoto)
很明顯這是我本地圖片的地址,難怪會顯示不出來,所以,我想到了一個這樣的方法
在前面在拼接一張圖片,但是我給它隱藏,所以我們頁面上就不會顯示出來,但是它的地址,我們要給它換成自己域名地址,比如說 http://www.baidu.com,然后,后面再加上我圖片的地址,因為我那個地址是本地的,有../,所以我用了substr方法
https://www.w3school.com.cn/jsref/jsref_substr.asp
我截取出來的圖片地址也就變成了http://www.twinhu.com/NBMADE/pic/2019-08-20/圖吧/1566298303000.jpg,
這樣,導入到Excel里面圖片就能顯示出來,
注意!!!,但是導入到Excel里面的圖片會非常的大,你也可以設置他的樣式,但是不能再style里面設置,這樣會無效,只能<img str='XXXX' width='50px'/>這樣設置。
這個功能可能會有許多問題,歡迎大家評論,不足之處請大家諒解。