首页 Node Koa.js框架

安装

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等软件打开,所以写入是纯数值可以用软件设置单元格日期格式,此处不作处理。