「node学习笔记」浅谈node.js读写xlsx文件

博读代码 博读代码     2022-11-29     614

关键词:

前言

先给大家简单介绍一下,这是一个读写 xlsx 文件的功能,主要帮助我们打印或是读写一些数据。

应用场景:以消费订单为例,当客户需要导出网站的累计消费金额时,我们需要查看流水账,作为开发人员可以将数据在 node 的服务层进行对应的整理,再通过写成 Excel 的方式给到客户使用。


操作步骤

step1:加载模块

使用模块:

fs–主要用于写入文件;

node-xlsx主要用于转换 xlsx 数据和读取 xlsx 的文件数据;

const fs = require(fs)
const xlsx = require(node-xlsx); // 读写xlsx的插件


step2:读取功能

读取功能相对简单,直接使用模块的 prase(路径)方法就能读取。

var list = xlsx.parse("./doc/hello.xlsx");
  返回结果,name:表名,data:二维数组--由于Excel以表格的形式表示,因此表格的数据都是通过二维数组进行接收。

[ name: firstSheet, data: [ [Array], [Array] ] ,
name: secondSheet, data: [ [Array], [Array] ] ]


step3:写入功能

写入功能,对应的写入数据与上面读取功能的返回格式需要一致,以数组的形式,name:表名,data:二维数组–Excel每行每列的数据。

如下面的代码,生成一个 Excel 文件,分别两张表,表名分别是 firstSheet,secondSheet。

let xlsxObj = [

name: firstSheet,
data: [
[1, 2, 3],
[4, 5, 6]
],
,

name: secondSheet,
data: [
[7, 8, 9],
[10, 1, 12]
],

]

生成Excel文件,

fs.writeFileSync(路径,Buffer数据)

xlsx.build(xlsxObj)会将数组转换为 Buffer 数据

执行下面命令就会生成对应的Excel文件。

fs.writeFileSync(./doc/hello.xlsx,xlsx.build(xlsxObj),"binary");

以上就是通过 Node 对 Excel 表格进行的读取新建写入操作。


下期给大家分享更多实战中的点滴,如果大家对此感兴趣,欢迎各位关注、留言,大家的支持就是我的动力!

系列文章--node.js学习笔记系列

Node.js学习笔记系列总索引Nodejs学习笔记(一)---简介及安装Node.js开发环境Nodejs学习笔记(二)---事件模块Nodejs学习笔记(三)---模块Nodejs学习笔记(四)---与MySQL交互(felixge/node-mysql)Nodejs学习笔记(五)---Express安装入门与模... 查看详情

node.js--学习笔记

简单的说Node.js就是运行在服务端的JavaScript。Node.js是一个基于ChromeJavaScript运行时建立的一个平台。Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。使用的版本我们... 查看详情

node.js学习笔记

1.Node.js本质上是一个JavaScript执行环境,跟Chrome的console命令行一样,可以直接在里面编写JS代码并执行两个的区别在于,都有一些自己独特的全局变量,譬如chrome中可以有window和document等,Node.js有process等全局变量   2.exports与mo... 查看详情

千锋node.js学习笔记(代码片段)

千锋Node.js学习笔记文章目录千锋Node.js学习笔记写在前面1.认识Node.js2.NVM3.NPM4.NRM5.NPX6.模块/包与CommonJS7.常用内置模块1.url2.querystring3.http4.跨域jsonpcorsmiddleware(http-proxy-middleware)5.爬虫6.events7.FileSystem8.St 查看详情

nodejs学习笔记---简介及安装node.js开发环境

目录学习资料简介安装Node.jsnpm简介开发工具SublimeNode.js开发环境配置扩展:安装多版本管理器 学习资料  1.深入浅出Node.js http://www.infoq.com/cn/minibooks/nodejs  2.Node.js开发指南 简介(只捡了我觉得重要的)Node.js是让J... 查看详情

nodejs学习笔记---简介及安装node.js开发环境

目录学习资料简介安装Node.jsnpm简介开发工具SublimeNode.js开发环境配置扩展:安装多版本管理器 学习资料  1.深入浅出Node.js http://www.infoq.com/cn/minibooks/nodejs  2.Node.js开发指南 简介(只捡了我觉得重要的)Node.js是让J... 查看详情

node.js学习笔记之写文件

node.js之写文件//---------------optfile.js------------------var fs= require(‘fs‘);module.exports={  writefile:function(path,data){  //异步方式    fs.writeFile 查看详情

node.js学习笔记一

node.js node是平台也是语言。它是平台或者运行环境,能够让js在服务器端运行,因为它封装V8引擎(引擎,能够将js代码解析成计算机能够懂得语言),能够让js运行在其他的平台上面,而不只是运行在浏览器上。它是服务器... 查看详情

node.js学习笔记——回调函数

  Node.js异步编程的直接体现就是回调。  那什么是回调呢?回调指的是将一个函数作为参数传递给另一个函数,并且通常在第一个函数完成后被调用。需要指明的是,回调函数不是由该函数的实现方直接调用,而是在特定... 查看详情

node.js学习笔记——模块调用

js创建一个类然后在另一程序中实例化使用这个类1.创建一个User类//--------------User.js--------------  function  User(id,name,age){    this.id=id;    this.name=name;  查看详情

将js进行到底:node学习笔记5

HTTP开发之Connect工具集——中间件继学习node.js的TCPAPI和HTTPAPI之后,node.jsweb开发进入了正轨,但这就好像Java的servlet一样,我们不可能使用最基础得Servlet对象去写网站,我们也不能使用最基本的nodehttpAPI去写一个完整得网站,我... 查看详情

node-学习笔记

什么是Node.js1)Node.js是一个基于ChromeV8引擎的JavaScript运行环境2)Node.js使用了一个事件驱动、非阻塞式I/O的模型,使其轻量又高效。   ①事件驱动:当触发某个事件的时候,执行事件中指定的代码。   ②非... 查看详情

将js进行到底:node学习笔记4

使用Node做web开发废话:说起web开发,这真的算是我的老本行了,从进入计算机领域我习得的第一门语言便是php,到后来公司使用的ASP.NET平台,再到学校强推的JavaEE平台,后来自学了一点rubyonrails平台,一直到现在node.js做毕设终... 查看详情

文件系统(node.js学习笔记)

根据nodejs菜鸟教程整理。官方API文档:nodeJS文件系统API其他整理:nodejsFileSystem文件系统操作函数分类1、引用:导入文件系统模块(fs)语句:varfs=require("fs")2、异步与同步:异步:fs.readFile();  第一个参数为回调error信息。同... 查看详情

node.js学习笔记——创建第一个应用

  巧妇难为无米之炊。要学习node.js,当然必须先有node.js环境(可以去官网http://nodejs.cn/下载安装),如果还是不懂怎么配置开发环境,度娘会告诉你一切。  安装完成环境之后,先别急着开发。在开发之前,为了更清晰的... 查看详情

node.js学习笔记--文件简单操作

说明(2017-5-311:53:45):1.foo.js1varfs=require("fs");2vardocuments=[];3fs.readdir("./段虹",function(err,files){45for(leti=0;i<files.length;i++){6//varfilename=files[i];7fs.stat("./段虹/"+files[i],function 查看详情

nodejs学习笔记node.js调试命令

3.4 调试       47 下面是一个简单的例子: $nodedebugdebug.js <debuggerlisteningonport5858connecting...ok breakin/home/byvoid/debug.js:11vara=1;2varb=‘w 查看详情

node.js学习笔记之调用函数

本文件和从其它模块引入函数;从其他模块引入分只支持引入一个函数和多个 这两种例:test.js为主函数varhttp=require(‘http‘);http.createServer(function(request,response){response.writeHead(200,{‘Content-Type‘:‘text/html‘})func1(response);//调用... 查看详情