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!

目录
相关文章
|
前端开发 数据库
node使用node-xlsx实现excel的下载与导入,保证你看的明明白白
node使用node-xlsx实现excel的下载与导入,保证你看的明明白白
|
JSON JavaScript 算法
Node第三方包 【Request】
Node第三方包 【Request】
304 0
|
SQL 前端开发 JavaScript
Node第三方包 【mysql2】
Node第三方包 【mysql2】
596 0
|
3月前
|
JavaScript Unix Linux
nvm与node.js的安装指南
通过以上步骤,你可以在各种操作系统上成功安装NVM和Node.js,从而在不同的项目中灵活切换Node.js版本。这种灵活性对于管理不同项目的环境依赖而言是非常重要的。
804 11
|
8月前
|
弹性计算 JavaScript 前端开发
一键安装!阿里云新功能部署Nodejs环境到ECS竟然如此简单!
Node.js 是一种高效的 JavaScript 运行环境,基于 Chrome V8 引擎,支持在服务器端运行 JavaScript 代码。本文介绍如何在阿里云上一键部署 Node.js 环境,无需繁琐配置,轻松上手。前提条件包括 ECS 实例运行中且操作系统为 CentOS、Ubuntu 等。功能特点为一键安装和稳定性好,支持常用 LTS 版本。安装步骤简单:登录阿里云控制台,选择扩展程序管理页面,安装 Node.js 扩展,选择实例和版本,等待创建完成并验证安装成功。通过阿里云的公共扩展,初学者和经验丰富的开发者都能快速进入开发状态,开启高效开发之旅。
|
7月前
|
资源调度 JavaScript 前端开发
前端开发必备!Node.js 18.x LTS保姆级安装教程(附国内镜像源配置)
本文详细介绍了Node.js的安装与配置流程,涵盖环境准备、版本选择(推荐LTS版v18.x)、安装步骤(路径设置、组件选择)、环境验证(命令测试、镜像加速)及常见问题解决方法。同时推荐开发工具链,如VS Code、Yarn等,并提供常用全局包安装指南,帮助开发者快速搭建高效稳定的JavaScript开发环境。内容基于官方正版软件,确保合规性与安全性。
5904 24
|
8月前
|
JavaScript 前端开发 数据可视化
【01】Cocos游戏开发引擎从0开发一款游戏-cocos环境搭建以及配置-Cocos Creator软件系统下载安装-node环境-优雅草卓伊凡
【01】Cocos游戏开发引擎从0开发一款游戏-cocos环境搭建以及配置-Cocos Creator软件系统下载安装-node环境-优雅草卓伊凡
437 2
【01】Cocos游戏开发引擎从0开发一款游戏-cocos环境搭建以及配置-Cocos Creator软件系统下载安装-node环境-优雅草卓伊凡
|
8月前
|
弹性计算 JavaScript 前端开发
一键安装!阿里云新功能部署Nodejs环境到ECS竟然如此简单!
一键安装!阿里云新功能部署Nodejs环境到ECS竟然如此简单!
一键安装!阿里云新功能部署Nodejs环境到ECS竟然如此简单!
|
7月前
|
数据库
【YashanDB知识库】安装共享集群时报错:YAS-05721 invalid input parameter, reason: node name invalid
【YashanDB知识库】安装共享集群时报错:YAS-05721 invalid input parameter, reason: node name invalid
|
11月前
|
存储 JavaScript 搜索推荐
Node框架的安装和配置方法
安装 Node 框架是进行 Node 开发的第一步,通过正确的安装和配置,可以为后续的开发工作提供良好的基础。在安装过程中,需要仔细阅读相关文档和提示,遇到问题及时解决,以确保安装顺利完成。
579 58

热门文章

最新文章