本文介绍如何在Node.js环境中利用xls-to-json模块将Excel表格数据转换为JSON格式,以便批量导入MongoDB数据库。通过创建package.json并安装依赖,编写简单的app.js脚本,即可实现xls文件到json文件的转换,解决数据导入效率问题。
Node.js Excel转JSON实现方案
在开发在线选课系统时,我选择了目前较为流行的Node.js作为技术栈。今天考虑如何批量导入学生或教师信息,由于数据量较大,且手头恰好有Excel表格,因此计划将Excel转换为JSON格式,进而导入到MongoDB数据库中。
经搜索发现,网上多数解决方案基于C#或Python,要么需要自行编译,要么因缺少库文件而无法运行。通过Google搜索,我发现Node.js中已有现成的模块可用,相关网址为https://www.npmjs.com/package/xls-to-json。
大致操作步骤记录如下:
环境配置与代码示例
在任意目录下新建一个package.json文件。尝试直接npm安装似乎未生效,因此采用此方式配置。
{
"name": "abc",
"version": "0.0.0",
"private": true,
"scripts": {
"start": "node ./bin/www"
},
"dependencies": {
"xls-to-json": "*"
}
}
保存文件后执行npm install命令安装依赖包,随后新建app.js文件。
node_xj = require("xls-to-json");
node_xj({
input: "test.xls", // input xls
output: "output.json" // output json
//sheet: "sheet1", // specific sheetname
}, function(err, result) {
if(err) {
console.error(err);
} else {
console.log(result);
}
});
此处直接粘贴了上述网站提供的示例代码。运行时报错提示sheet参数问题,因此我将其注释掉。
将test.xls文件放置在与app.js相同的目录下,执行node app.js即可运行。

由于内容涉及同学信息,已进行打码处理,但可以看出转换已成功。
该方法简单直接,在此做标记与分享。若有更优方法或建议,欢迎留言评论。
以上内容即为本文全部介绍,希望能对大家有所帮助。