<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'>
<title>JS-XLSX Demo</title>
<script type="text/javascript" src='./libs/xlsx.full.min.js'></script>
</head>
<body>
<table id="data-table" border="1" width="50%">
<tbody>
<tr>
<td>編號</td>
<td>名稱</td>
<td>價格</td>
<td>日期</td>
</tr>
<tr>
<td>1</td>
<td>《Java架構師》</td>
<td>¥78.5</td>
<td>2018-10-11</td>
</tr>
<tr>
<td>2</td>
<td>《Python入門到精通》</td>
<td>¥65.3</td>
<td>2019-03-22</td>
</tr>
<tr>
<td>3</td>
<td>《JavaScript高級教程》</td>
<td>¥89.4</td>
<td>2017-04-13</td>
</tr>
</tbody>
</table>
<p>
將上面表格的內容導出到Excel文件
</p >
<p>
<button onclick="exportExcel()">導出Excel</button>
</p >
<script type="text/javascript">
function exportExcel() {
// 獲取表格的Dom對象
var elt = document.getElementById('data-table');
// 創建Excel工作簿,即一個Excel文件
var wb = XLSX.utils.table_to_book(elt, {
sheet: "SheetJS" // 工作表格名稱
});
// 導出工作表
return XLSX.writeFile(wb, 'SheetJSTableExport.xlsx');
}
function exportExcel2() {
// 獲取表格的Dom對象
var elt1 = document.getElementById('xgszjcb-tb');
var elt2 = document.getElementById('xqzjcbxtscb-tb');
var elt3 = document.getElementById('xqzjcbdrb-tb');
var elt4 = document.getElementById('xgszjsr-tb');
// 創建虛擬workbook
var wb = XLSX.utils.book_new();
// 把數據生成sheet
var sheet1 = XLSX.utils.table_to_sheet(elt1);
var sheet2 = XLSX.utils.table_to_sheet(elt2);
var sheet3 = XLSX.utils.table_to_sheet(elt3);
var sheet4 = XLSX.utils.table_to_sheet(elt4);
// 把sheet添加到workbook里
XLSX.utils.book_append_sheet(wb,sheet1,"縣區直接成本-合計");
XLSX.utils.book_append_sheet(wb,sheet2,"縣區直接成本-系統生成");
XLSX.utils.book_append_sheet(wb,sheet3,"縣區直接成本-導入");
XLSX.utils.book_append_sheet(wb,sheet4,"縣區直接收入-合計");
// 導出工作表
return XLSX.writeFile(wb, '縣區公司.xlsx');
}
</script>
</body>
</html>
1、以上是js-xlsx的使用案例,純前端導出excel。
2、導出時,會把52.36%導出成0.5236,加入以前代碼,才不會把%計算進去。
var sheet = XLSX.utils.table_to_sheet(elt,{raw: true});就不會把字符串當做數字處理
var wb = XLSX.utils.table_to_book(elt,{raw: true});就不會把字符串當做數字處理
3、用到的包
