在大学里的比赛中遇到了需要整理的数据到excel发给快递员,以下是这次方法的实现方式
let jbnewarr1 = document.querySelectorAll("[id^='order_item']") //获取每一行的数据
let namearr = []
let dzarr = []
let telarr = []
let final = []
let itemlist = {}
for (let i = 0; i < jbnewarr1.length; i++) {
let name = jbnewarr1[i].querySelector("td:nth-child(5)").innerHTML
let dz = jbnewarr1[i].querySelector("td:nth-child(6)").innerHTML
let tel = jbnewarr1[i].querySelector("td:nth-child(7)").innerHTML
itemlist = {
nameitem: name,
dzitem: dz,
telitem: tel
}
final.push(itemlist)
}
console.log(final);
把这个自己写的代码写到浏览器下面,最后得到一个数组里面存放每一个对象的list
再把浏览器下面的数组list复制到html文件中
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.17.0/xlsx.full.min.js"></script>
</head>
<body>
<script>
// 数据
var data = [
{ nameitem: " ", dzitem: " 四川省成都市成华区 ", telitem: " " }
, { nameitem: " ", dzitem: " 四川省成都市成华区", telitem: " " }
];
// 创建工作簿
var wb = XLSX.utils.book_new();
// 将数据转换为工作表
var ws = XLSX.utils.json_to_sheet(data);
// 将工作表添加到工作簿
XLSX.utils.book_append_sheet(wb, ws, "Sheet1");
// 将工作簿写入二进制字符串
var wbout = XLSX.write(wb, { bookType: 'xlsx', type: 'binary' });
// 将二进制字符串转换为Blob对象
var blob = new Blob([s2ab(wbout)], { type: 'application/octet-stream' });
// 创建一个隐藏的a标签,用于触发下载
var a = document.createElement('a');
a.href = URL.createObjectURL(blob);
a.download = 'data.xlsx';
a.style.display = 'none';
document.body.appendChild(a);
// 触发下载
a.click();
// 清理
document.body.removeChild(a);
// 辅助函数:将二进制字符串转换为ArrayBuffer
function s2ab(s) {
var buf = new ArrayBuffer(s.length);
var view = new Uint8Array(buf);
for (var i = 0; i < s.length; i++) {
view[i] = s.charCodeAt(i) & 0xFF;
}
return buf;
}
</script>
</body>
</html>
(上面的list数据进行了删除2333)
然后会生成一个html文件,在浏览器中打开最后会默认下载一个xlsx文件,就是最后保存的数据啦!
虽然数据都是虚假的,但还是稍微涂了一下,希望对你有帮助 注:csdn里的清风挽明月和折纸寄与风都是我哦!