nodeJS 编辑xlsx文档

xlsx模块github指导文档

1、 安装模块

  • 创建xlsx-test文件夹
  • 执行npm init执行,初始化项目
  • 下载xlsx 依赖

npm install xlsx

2、读取文件

  • 创建 xlsx-test/test.xlsx

    nodeJS 编辑xlsx文档

  • 创建 xlsx-test/index.js,并在输入以下程序。

const XLSX = require( xlsx );
var workbook = XLSX.readFile( test.xlsx );
console.log(workbook );

3、获取表格中指定位置数据

const XLSX = require( xlsx );
const workbook = XLSX.readFile( test.xlsx )
// 获取sheet1中的A1数据
let first_sheet_name = workbook.SheetNames[0]; //读取sheet1工作单的名称
let address_of_cell =  A1 ;
let sheet_data = workbook.Sheets[first_sheet_name]; //获取sheet1工作单的数据
let sheet_1_A1_value = sheet_data[address_of_cell]; //获取sheet1工作单中A1位置的数据
console.log(sheet_1_A1_value);//{ t:  n , v: 1, w:  1  } sheet1工作单中A1位置的数据
let sheet_A1_data = sheet_1_A1_value.v; //获取sheet1工作单中A1位置的值
console.log(sheet_A1_data); //1

4、创建表格并写入数据

const XLSX = require( xlsx );
//创建工作簿
var wb = XLSX.utils.book_new();
// 工作表名称
var new_ws_name = "SheetJS";
// 数据源
var ws_data = [
    [ "S", "h", "e", "e", "t", "J", "S" ],
    [  1 ,  2 ,  3 ,  4 ,  5 ]
  ];
// 把转换JS数据数组的数组转为工作表
var ws = XLSX.utils.aoa_to_sheet(ws_data);
//把工作表添加到工作簿中
XLSX.utils.book_append_sheet(wb, ws, new_ws_name);
// 写入文档
XLSX.writeFile(wb,  out.xlsb );

自动生成xlsx-test/out.xlsb文件, 并在 SheetJS工作表中填入如下数据

nodeJS 编辑xlsx文档

5、在工作簿中增加其他的工作表

const XLSX = require( xlsx );
//创建工作簿
var wb = XLSX.utils.book_new();
// 工作表名称
var new_ws_name = "SheetJS";
// 数据源
var ws_data = [
    [ "S", "h", "e", "e", "t", "J", "S" ],
    [  1 ,  2 ,  3 ,  4 ,  5 ]
  ];
// 把转换JS数据数组的数组转为工作表
var ws = XLSX.utils.aoa_to_sheet(ws_data);
//把工作表添加到工作簿中
XLSX.utils.book_append_sheet(wb, ws, new_ws_name);
// 写入文档
XLSX.writeFile(wb,  out.xlsb );

// 其他工作表名称
var new_ws_name1 = "SheetJS1";
// 数据源
var ws_data1 = [
  [ "S", "h", "e", "e", "t", "J", "S" ],
  [  1 ,  2 ,  3 ,  4 ,  5 ]
];
// 把转换JS数据数组的数组转为工作表
var ws1 = XLSX.utils.aoa_to_sheet(ws_data1);
//把工作表添加到工作簿中
XLSX.utils.book_append_sheet(wb, ws1, new_ws_name1);

6、XLSX.utils.sheet_add_aoa在已存在的工作表对象中更新数据

const XLSX = require( xlsx );
//创建工作簿
var wb = XLSX.utils.book_new();
// 工作表名称
var new_ws_name = "SheetJS";
// 数据源
var ws_data = [
    [ "S", "h", "e", "e", "t", "J", "S" ],
    [  1 ,  2 ,  3 ,  4 ,  5 ]
  ];
// 把转换JS数据数组的数组转为工作表
var ws = XLSX.utils.aoa_to_sheet(ws_data);
//把工作表添加到工作簿中
XLSX.utils.book_append_sheet(wb, ws, new_ws_name);
// {origin: A3 } 从A3开始更新数据
XLSX.utils.sheet_add_aoa(ws,ws_change_data,{origin: A3 })
// {c:C, r:R},其中C和R分别代表的是0索引列和行号 , {c:6,r:5}:其中 c:6 :第G列,r:5:第6行。所以从G6开始写入
XLSX.utils.sheet_add_aoa(ws, [[5,6,7], [6,7,8], [7,8,9]], {origin:{c:6,r:5}})
// 写入文档
XLSX.writeFile(wb,  out.xlsb );

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容