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

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

下一章会讲

  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值