安装
npm install xlsx koa版本:3.0.1 xlsx版本:0.18.5
用法
加载xlsx模块: const xlsx = require("xlsx"); 读取xlsx文件,并转化为Array: function readFile(filePath){ //filsePath文件路径 const files = xlsx.readFile(filePath); //读取xlsx文件 const name = files.SheetNames[0]; //获取第一张工作表名称 const sheet = files.Sheets[name]; //获取指定工作表全部内容 const jsonArray = xlsx.utils.sheet_to_json(sheet); //将内容转化为json格式 return jsonArray; } 读取调用: var jsonArray = readFile("aaa.xlsx"); 数组结构:表格结构:
注:cell是列头内容,用于索解单元格 新建xlsx文件,并写入数据: function writeFile(filePath, sheetName, jsonArray){ //filePath文件路径 //sheetName工作表名称 //jsonArray要写入的数据 const newXLSX = xlsx.utils.book_new(); //内存中创建一个xlsx文件 xlsx.utils.book_append_sheet(newXLSX, xlsx.utils.json_to_sheet(jsonArray), sheetName); //在文件中创建工作表,并写入内容 xlsx.writeFile(newXLSX, filePath); //保存文件到磁盘 } 写入调用: jsonArray = [{cell1:"a", cell2:"b"}]; //写入数据格式 writeFile("aaa.xlsx", "Sheet1", jsonArray); 修改xlsx文件: const files = xlsx.readFile("aaa.xlsx"); //读取xlsx文件 const sheet = files.Sheets["Sheet1"]; //获取指定工作表全部 sheet["A1"].v = "a"; //修改表内容 xlsx.writeFile(files, "aaa.xlsx"); //保存文件到磁盘
设置
sheet["A1"].v = ""; //写入修改指定单元格 sheet["A1"].t = "s"; //t:'s'设置单元格为字符串类型 sheet["A1"].z = "@"; //z:'@'设置数字为文本(单元格只有数字时) sheet["A1"] = {v:"", t:"s"}; //组合写法
读写中的问题
注:读取写入日期内容时,内容会被转化为纯数值 读取处理:获取日期时,判断是否为纯数值,是转化为文本日期 const date = xlsx.SSF.parse_date_code(45658); //将数字转化为js的Date对象 //date = { D: 45658, T: 0, u: 0, y: 2025, m: 1, d: 1, H: 0, M: 0, S: 0, q: 3 } //date对象内部结构 strDate = date.y + "年" + date.m + "月" + date.d + "日"; //自定义格式组合 写入处理:xlsx表格可以用wps等软件打开,所以写入是纯数值可以用软件设置单元格日期格式,此处不作处理。