xls文件输出数据结构

60 阅读1分钟

折磨啊,数据还要前端处理。

  <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();
    }