折磨啊,数据还要前端处理。
<input type="file" id="file-input" />
<button onclick="downloadArrayData()">下载数据</button>
两个按钮 一个选择文件 一个下载数据结构
// 监听文件选择
document.getElementById('file-input').addEventListener('change', function (e) {
var file = e.target.files[0];
var reader = new FileReader();
reader.onload = function (e) {
var data = new Uint8Array(e.target.result);
var workbook = XLSX.read(data, { type: 'array' });
var worksheet = workbook.Sheets[workbook.SheetNames[0]];
var jsonData = XLSX.utils.sheet_to_json(worksheet, { header: 1 });
console.log(jsonData);
};
reader.readAsArrayBuffer(file);
});
打印出的jsonData就是转换成的结构,可以进行加工处理,赋值给下面的dataArray即可点击下载获得想要的数据文件,从接口拿的数据更不用说,直接下载就行
// 下载数据
function downloadArrayData() {
// 创建一个包含数组数据的示例数组
var dataArray = '内容';
// 将数组数据转换为JSON格式的Blob对象
var blob = new Blob([JSON.stringify(dataArray)], { type: "application/json" });
// 创建一个下载链接
var a = document.createElement("a");
a.href = URL.createObjectURL(blob);
// 设置下载文件的名称
a.download = "dataArray.json";
// 模拟点击下载链接
a.click();
}