node.js、js读取excel、操作excel、创建excel之js-xlsx.js

    xiaoxiao2021-04-11  40

    node.js篇

    第一步引入包 npm install xlsx -save

    第二步使用

    var xl =require('xlsx'); //workbook 对象,指的是整份 Excel 文档。我们在使用 js-xlsx 读取 Excel 文档之后就会获得 workbook 对象。 var workbook = xl.readFile("public/temp/标题说明.xlsx") //返回json数据 var dataa =xl.utils.sheet_to_json(worksheet);

    https://github.com/SheetJS/js-xlsx

    额外方法

    / 获取 Excel 中所有表名 const sheetNames = workbook.SheetNames; // 返回 ['sheet1', 'sheet2'] // 根据表名获取对应某张表 const worksheet = workbook.Sheets[sheetNames[0]];

    纯js篇 直接在页面上将excel里面数据获取,然后再向服务器请求处理数据;

    第一步 引入

    <script src="/js/xlsx.core.min.js"></script>

    这个js

    点击下载 第一步

    <input type="file" id="excel-file" name="upload" > <input type="hidden" id="hiddata" value=""> <script> $(function () { $('#excel-file').change(function(e) { var files = e.target.files; var fileReader = new FileReader(); fileReader.onload = function(ev) { try { var data = ev.target.result, workbook = XLSX.read(data, { type: 'binary' }), // 以二进制流方式读取得到整份excel表格对象 persons = []; // 存储获取到的数据 } catch (e) { alert('文件类型不正确'); return; } // 表格的表格范围,可用于判断表头是否数量是否正确 var fromTo = ''; // 遍历每张表读取 for (var sheet in workbook.Sheets) { if (workbook.Sheets.hasOwnProperty(sheet)) { fromTo = workbook.Sheets[sheet]['!ref']; console.log(fromTo); persons = persons.concat(XLSX.utils.sheet_to_json(workbook.Sheets[sheet])); //发现json格式不是你想要的你可以 //XLSX.utils.sheet_to_json(workbook.Sheets[sheet],{raw:true, header:1}) // 如果只取第一张表,就取消注释这行 $("#hiddata").val(JSON.stringify(persons)); break; // 如果只取第一张表,就取消注释这行 } } }; // 以二进制方式打开文件 fileReader.readAsBinaryString(files[0]); }) }) </script>

    暂时将excel数据保存在隐藏域中,点击确认后直接取出来就行

    创建excel 我推荐 ejsexcel

    下一章会讲

    转载请注明原文地址: https://ju.6miu.com/read-666486.html

    最新回复(0)