nodejs 在一个js中调用另一个js文件内的方法

本文介绍了如何将node.js的Excel数据读取功能封装为可复用的函数,以便在不同场景下动态获取数据并存入数组。通过修改`Excel_to_Json.js`,实现路径输入获取数组,并在`result.js`中调用。讨论了文件路径灵活性的问题及解决方案。
摘要由CSDN通过智能技术生成

书接上回:nodejs 读取Excel数据并将数据元素放入数组_我只想写个论文的博客-CSDN博客两种将Excel数据放入数组的方法:1.对照标题栏个数进行手动添加;2.循环添加https://blog.csdn.net/WZSyzcj/article/details/124626876

但是如果将读取Excel数据并放置到数组和对数组数据进行操作都放在Excel_to_Json.js中,代码似乎过长。毕竟下一步操作需要多少代码,有点难以预估。

所以可以将这个读取数据放置数组的Excel_to_Json.js作为一个小工具,在新的js文件中调用。

但是存在的问题又多了一个:要读取的Excel文件路径固定在了Excel_to_Json.js里。实际运用中,文件名字与路径是不定的。如果要读取新的Excel文件,反过来再去修改Excel_to_Json.js里的读文件语句多少有点不太理想。

所以我又开始修改了。

已知:Excel_to_Json.js中存在了方法,以及方法内有一个含有数据的数组:

需求:1.将Excel_to_Json.js里的方法改成一个函数,输入Excel文件路径即可返回数组;

           2.在新建的result.js中调用Excel_to_Json.js的这个方法并输出数组;

一、Excel_to_Json.js内的改写:

1.把向数组循环添加元素这一部分改成函数;

2.把文件路径作为函数的参数,调用函数时只需要输入文件路径就能返回数组;

3.用module.export模块导出函数;

关于nodejs 的module部分可看以下链接:

https://blog.csdn.net/qq_36801250/article/details/106352303https://blog.csdn.net/qq_36801250/article/details/106352303

const xlsx = require("node-xlsx")
const fs = require("fs")

//将向数组添加数据写成一个函数
///此处选择循环添加方法
function GetData(Path)
{
    const sheets = xlsx.parse(Path)

    //读取xlxs的sheet1 
    const sheetData = sheets[0].data

    let testList = [] // 建立空数组,用于放置数据

    testTitle = sheetData[0] //读取标题行

    sheetData.forEach((item, index) => 
        {
            //整一个新对象
            var NewVot = {}
            if (index == 0) 
            {
                return 
            } 
            else 
            {
            
                for(var i = 0 ; i < testTitle.length ; i++ )
                {
                    NewVot[testTitle[i]] = item[i]
                }

                testList.push(NewVot)
             
            }  
 
        })
        return testList
}
//用module.exports挂载这个函数
module.exports.GetData = GetData

二、新建的result.js:

//调用Excel_to_Json.js
const {GetData} = require("./Excel_to_Json.js")
//输入路径
const List = GetData("./data.xlsx")
//打印看效果
console.log(List)

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值