node解析Excel中的考试题并实现在线做题功能
创始人
2024-12-28 11:05:51
0

1、背景

        最近公司安排业务技能考试,下发excel文件的题库,在excel里查看并不是很方便,就想着像学习驾考题目一样,一边看一边做,做完之后可以查看正确答案。

2、开始分析需求

题目格式如下图

        需求比较简单,解析出 .xlsx 文件的每一行,第一列是题目类型,第二列为题干,第三列是选项,第四列是 正确答案。其中第三列再用 ' ' 或者 '/n' 去 分割一下选项应该就可以了

3、实现功能

        引入  node-xlsx 和 fs 。 使用 node-xlsx 解析出 .xlsx 文件 。并生成json 用 fs 生成js文件保存 json。 这里解析数据的功能就实现了

var xlsx = require('node-xlsx'); const fs = require('fs'); var obj = xlsx.parse('./test.xlsx'); obj = obj[0].data  // console.log(obj) let orightData = [] for(var i=0;i {   if (err) throw err;   console.log('JSON data is saved.'); });

运行代码

node index.js

生成js文件 如下

let res = [{"type":"类型","question":"题目","options":"选项","answer":"答案"},{"type":"选择题","question":"域名MH.BIT.EDU.CN中主机名是(A)","options":"A、MH     B、EDU    C、CN    D、BIT","answer":"A"},{"type":"选择题","question":"根据《企业财务会计报告条例》的规定,企业对外提供虚假财务会计报告,可以对企业()。","options":"A. 直接责任人员处以2000元以上10000元以下罚款\n\nB. 处以100000元以上300000元以下罚款\n\nC. 处以5000元以上100000元以下罚款\n\nD. 处以2000元以上20000元以下罚款","answer":"B"}]

接下来就比较简单了,把数组循环 显示到页面上就行了。我这里就用js直接拼接字符串 设置body 的 innerHTML 就可以了。配合添加class 来显示 答案。再美化一下样式。代码如下

           Document      

点击查看答案

执行完 node index.js 之后 双击打开index.html文件就可以了。效果如下图 

最后:

暂时先处理 单选题,其他题型处理逻辑打通小异。

相关内容

热门资讯

7分钟窍要!福建天天开心辅助,... 7分钟窍要!福建天天开心辅助,九哥玩辅助(辅助)切实真的是有下载(哔哩哔哩)1、实时福建天天开心辅助...
第四分钟攻略!熟客温州游戏辅助... 第四分钟攻略!熟客温州游戏辅助器,新九哥脚本(辅助)其实是真的辅助器(哔哩哔哩)运熟客温州游戏辅助器...
第七分钟机巧!雀友会潮汕麻雀总... 第七分钟机巧!雀友会潮汕麻雀总部辅助,新鸿狐挂机(辅助)都是存在有软件(哔哩哔哩)1、雀友会潮汕麻雀...
第7分钟项目!中至江西插件,新... 第7分钟项目!中至江西插件,新道游拼十辅助器(辅助)一直真的有app(哔哩哔哩)1、新道游拼十辅助器...
第一分钟大纲!家家盘锦开挂,反... 第一分钟大纲!家家盘锦开挂,反杀新大厅辅助(辅助)真是存在有app(哔哩哔哩)1、操作简单,无需反杀...
第5分钟绝活儿!白银胡乐辅助脚... 第5分钟绝活儿!白银胡乐辅助脚本下载,新超圣辅助器(辅助)本来真的有工具(哔哩哔哩)1、白银胡乐辅助...
第六分钟指南书!皇豪互娱控制系... 第六分钟指南书!皇豪互娱控制系统app,新超圣正版辅助(辅助)切实是有插件(哔哩哔哩)所有人都在同一...
五分钟教程书!闲逸辅助器辅助下... 五分钟教程书!闲逸辅助器辅助下载,随意玩app下载开挂辅助(辅助)好像是真的工具(哔哩哔哩)1、这是...
第一分钟大纲!家家盘锦开挂,反... 第一分钟大纲!家家盘锦开挂,反杀新大厅辅助(辅助)真是有挂工具(哔哩哔哩)1.反杀新大厅辅助 选牌创...
第5分钟窍门!四川麻将血战到底... 第5分钟窍门!四川麻将血战到底定制插件辅助,新祥心挂机(辅助)原来真的有工具(哔哩哔哩)1、四川麻将...