Node第三方包 【node-xlsx】

简介: Node第三方包 【node-xlsx】

🌟前言

哈喽小伙伴们,新的专栏 Node 已开启;这个专栏里边会收录一些Node的基础知识和项目实战;今天我们带领大家初识一下 Node第三方包 node-xlsx ;让我们一起来看看吧🤘


🌟node-xlsx

node-xlsx => npm地址


简单的 excel 文件解析器和生成器。


依靠SheetJS xlsx模块来解析/构建 excel 工作表。

使用TypeScript构建,用于对库中导出的类型进行静态类型检查。

🌟安装

npm install node-xlsx --save
import xlsx from 'node-xlsx';
var xlsx = require('node-xlsx').default;

🌟导出xlsx文件

var xlsx = require('node-xlsx').default;
var fs = require("fs");
var data =  [
    ['未激活','信息部','testname','123@qq.com','2019-11-09','管理员'],
    ['未激活','信息部','testname2','12345@qq.com','2019-11-09','普通成员']
];
var buffer = xlsx.build([{name:'test',data:data}])
fs.writeFileSync('./1.xlsx',buffer)
var xlsx = require('node-xlsx').default;
var fs = require("fs");
var arr= [
    {name:"张三",age:19},
    {name:"李四",age:18}
]
//将 arr中的对象处理为数组
var data = arr.map(function(index, elem) {
    console.log(index)
    return Object.values(index);
})
//获取表头,添加到数组中第一个
data.unshift(Object.keys(arr[0]))
var buffer = xlsx.build([{name:'test',data:data}])
fs.writeFileSync('./2.xlsx',buffer)

🌟解析xlsx文件

var xlsx = require('node-xlsx').default;
var fs = require("fs");
var data = xlsx.parse('./2.xlsx');
console.log(data[0].data)

🌟另外:其他支持读写Excel的Node.js模块有:

node-xlsx: 可读写excel文件,仅支持xlsx格式文件;

excel-parser: 仅可读excel文件,支持xls及xlsx格式文件;

excel-export: 仅可导出excel文件,生成文件格式为xlsx;

node-xlrd: 仅可读excel文件,仅支持xls格式文件;

🌟直接导出excel文件


var data = []
var table = `
        <table border='1' cellspacing='0'>
  <tr>  
     <td>学校</td>
     <td>陕西理工大学</td>
     <td>实践项目名称</td>
     <td>${data['activity_theme']}</td>
     <td>实践开展时间</td>
     <td>从${data['activity_start_time']}到${data['activity_end_time']}</td>
     <td>授课教师</td>
     <td>${data['teacher']}</td>
  </tr>
  <tr>
      <td rowspan='2'>评价主体</td>
     <td colspan='6'>${data['name']}</td>
  </tr>
  <tr>
      <td colspan='2'>评价项目</td>
      <td colspan='3'> 评价指标及赋值标准</td>
      <td colspan='3'> 评价得分 (满分100) </td>
  </tr>
  <tr>
    <td rowspan='4' colspan='2'>实践教学准备</td>
    <td colspan='3'>教学设计思想10分</td>
    <td colspan='3'>${score['a']}</td>
  </tr>
  <tr>
        <td colspan='3'>教学资源建设5分</td>
        <td colspan='3'>${score['b']}</td>
  </tr>
  <tr>
    <td colspan='3'>教学目标制定10分</td>
    <td colspan='3'>${score['c']}</td>
  </tr>
  <tr>
    <td colspan='3'>活动情景营造5分</td>
    <td colspan='3'>${score['d']}</td>
   </tr>
   <tr>
    <td rowspan='5' colspan='2'>实践教学过程</td>
    <td colspan='3'>活动方法指导10分</td>
    <td colspan='3'>${score['e']}</td>
  </tr>
  <tr>
        <td colspan='3'>活动资源使用10分</td>
        <td colspan='3'>${score['f']}</td>
  </tr>
  <tr>
    <td colspan='3'>师生互动交流10分</td>
    <td colspan='3'>${score['g']}</td>
  </tr>
  <tr>
    <td colspan='3'>学生情绪状态5分</td>
    <td colspan='3'>${score['h']}</td>
   </tr>
   <tr>
    <td colspan='3'>学生思维状态5分</td>
    <td colspan='3'>${score['i']}</td>
   </tr>
   <tr>
    <td rowspan='4' colspan='2'>实践教学效果</td>
    <td colspan='3'>认知生成状态10分</td>
    <td colspan='3'>${score['j']}</td>
  </tr>
  <tr>
        <td colspan='3'>能力提升状态10分</td>
        <td colspan='3'>${score['k']}</td>
  </tr>
  <tr>
    <td colspan='3'>态度与价值观10分</td>
    <td colspan='3'>${score['l']}</td>
   </tr>
   <tr>
    <td colspan='2'>综合评价</td>
    <td colspan='6'>${data['totalscore']}</td>
   </tr>
   <tr>
  <td colspan='6'>
   ${data['evaluate']}
</td>
</tr>
</table>`;
ctx.set('Pragma', 'public');
ctx.set('Expires', 0);
ctx.set('Cache-Control', 'must-revalidate, post-check=0, pre-check=0');
ctx.set('Content-Type', 'application/force-download;application/vnd.ms-execl;application/octet-stream;application/download');
ctx.set('Content-Disposition', 'attachment;filename="老师学生评价活动评价表.xlsx"');
ctx.set('Content-Transfer-Encoding', 'binary');
ctx.body = table;

🌟写在最后

更多Node知识以及API请大家持续关注,尽请期待。各位小伙伴让我们 let’s be prepared at all times!

目录
相关文章
|
6月前
|
前端开发 数据库
node使用node-xlsx实现excel的下载与导入,保证你看的明明白白
node使用node-xlsx实现excel的下载与导入,保证你看的明明白白
|
JSON JavaScript 算法
Node第三方包 【Request】
Node第三方包 【Request】
137 0
|
SQL 前端开发 JavaScript
Node第三方包 【mysql2】
Node第三方包 【mysql2】
331 0
|
2月前
|
JavaScript
NodeJs的安装
文章介绍了Node.js的安装步骤和如何创建第一个Node.js应用。包括从官网下载安装包、安装过程、验证安装是否成功,以及使用Node.js监听端口构建简单服务器的示例代码。
NodeJs的安装
|
28天前
|
JavaScript 开发工具 git
已安装nodejs但是安装hexo报错
已安装nodejs但是安装hexo报错
21 2
|
2月前
|
存储 JavaScript 前端开发
Node 版本控制工具 NVM 的安装和使用(Windows)
本文介绍了NVM(Node Version Manager)的Windows版本——NVM for Windows的安装和使用方法,包括如何安装Node.js的特定版本、列出已安装版本、切换使用不同版本的Node.js,以及其他常用命令,以实现在Windows系统上对Node.js版本的便捷管理。
Node 版本控制工具 NVM 的安装和使用(Windows)
|
22天前
|
Web App开发 JavaScript 前端开发
JavaWeb 22.Node.js_简介和安装
JavaWeb 22.Node.js_简介和安装
|
2月前
|
SQL JavaScript 数据库
sqlite在Windows环境下安装、使用、node.js连接
sqlite在Windows环境下安装、使用、node.js连接
|
2月前
|
JavaScript Linux 开发者
一个用于管理多个 Node.js 版本的安装和切换开源工具
【9月更文挑战第14天】nvm(Node Version Manager)是一个开源工具,用于便捷地管理多个 Node.js 版本。其特点包括:版本安装便捷,支持 LTS 和最新版本;版本切换简单,不影响开发流程;多平台支持,包括 Windows、macOS 和 Linux;社区活跃,持续更新。通过 nvm,开发者可以轻松安装、切换和管理不同项目的 Node.js 版本,提高开发效率。
|
1月前
|
JavaScript 算法 内存技术
如何降低node.js版本(nvm下载安装与使用)
如何降低node.js版本(nvm下载安装与使用)