项目地址: https://github.com/SheetJS/sheetjs
每行数据是数组的导出:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<script type="text/javascript" src="xlsx.full.min.js"></script>
<!-- <script type="text/javascript" src="./index_files/FileSaver.js"></script> -->
<script>
function doit(type) {
var sheet1 = [
["This", "is", "a", "Test"],
[{
v: '哈哈',
l: { Target:"http://sheetjs.com", Tooltip:"Find us @ SheetJS.com!" },
// c: { color: "blue" }, // 需要专业版才能定制样式
}, "to", "edit", "cells"],
]
var sheet2 = [
["我想", "回家", "edit", "cells"],
["This", "is", "a", "Test"],
]
const wb = { SheetNames: ['sheet1', 'sheet2'], Sheets: {}, Props: {} };
let s1 = XLSX.utils.json_to_sheet(sheet1); // 如果数据是嵌套数组格式的话,表头自己定义,放在数组的第一行就好了
wb.Sheets['sheet1'] = s1
wb.Sheets['sheet2'] = XLSX.utils.json_to_sheet(sheet2, {skipHeader: true});
return XLSX.writeFile(wb, 'file.xlsx');
}
</script>
<button value="Export to XLSX!" onclick="doit('xlsx');">导出xlsx</button>
</body>
</html>
每行数据都是对象的导出:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<script type="text/javascript" src="xlsx.full.min.js"></script>
<!-- <script type="text/javascript" src="./index_files/FileSaver.js"></script> -->
<script>
function doit(type) {
var sheet1 = [
{
age: 26,
name: "Edison",
},
{
age: 28,
name: "Recardo",
}
]
const wb = { SheetNames: ['sheet1'], Sheets: {}, Props: {} };
wb.Sheets['sheet1'] = XLSX.utils.json_to_sheet(sheet1, { header: ['name', 'age'] }) // 手动控制列的顺序
return XLSX.writeFile(wb, 'file.xlsx');
}
</script>
<button value="Export to XLSX!" onclick="doit('xlsx');">导出xlsx</button>
</body>
</html>
在vue-cli中的使用:
- 通过npm或者yarn安装
- import XLSX from 'xlsx',其余过程没有什么区别
网友评论