新手用Nodejs的node-xlsx库出问题....
新手用Nodejs的node-xlsx库出问题…
直接上代码:
运行后:
根本读不出data数据。。。。请大神们帮帮忙吧。。。
问题描述补充:
打开 node-xlsx 源码,加入测试 console.log( );如下图:
后台输出结果如下:
所以应该是:
ws = XLSX.readFile(mixed, options);
这句出了问题,研究了一下,readFile( )函数找半天找不在哪儿。node-xlsx 所以来的 js-xlsx 的原文件 xlsx.js 只有.readFileSync( )函数,没有找到 readFile( )…
4 回复
不确定楼主的使用方法上是否有问题,但是我的测试过程是这样的:
- 文件结构
tree -L 1
.
├── app.js
├── b.xlsx
└── node_modules
- app.js
var xlsx = require('node-xlsx');
var obj = xlsx.parse('b.xlsx');
console.log(JSON.stringify(obj));
- 运行
node app.js
- 结果输出为:
[{"name":"Sheet1","data":[[1,2,3,4]]},{"name":"Sheet2","data":[]},{"name":"Sheet3","data":[]}]
- 格式化后:
[{
"name": "Sheet1",
"data": [
[1, 2, 3, 4]
]
}, {
"name": "Sheet2",
"data": []
}, {
"name": "Sheet3",
"data": []
}]
根据你提供的信息,看起来你在使用 node-xlsx
库时遇到了一些问题,特别是在读取 Excel 文件时无法正确获取数据。从你的描述来看,readFile
方法似乎不存在,而 xlsx.js
提供的是 readFileSync
方法。
首先,确保你安装了正确的库。node-xlsx
并不是一个广泛使用的库,可能你需要的是 xlsx
库。以下是如何使用 xlsx
库来读取 Excel 文件的示例:
安装 xlsx
库
npm install xlsx
示例代码
const XLSX = require('xlsx');
// 读取 Excel 文件
const workbook = XLSX.readFile('path/to/your/file.xlsx');
// 获取第一个工作表的名字
const sheetName = workbook.SheetNames[0];
// 获取第一个工作表
const worksheet = workbook.Sheets[sheetName];
// 将工作表转换为 JSON 对象数组
const data = XLSX.utils.sheet_to_json(worksheet);
console.log(data);
解释
- 引入
xlsx
库:通过require('xlsx')
引入xlsx
库。 - 读取 Excel 文件:使用
XLSX.readFile('path/to/your/file.xlsx')
读取 Excel 文件。这里需要替换'path/to/your/file.xlsx'
为你实际文件的路径。 - 获取工作表名称:Excel 文件通常包含多个工作表,
workbook.SheetNames
是一个数组,包含了所有工作表的名称。我们选择第一个工作表。 - 获取工作表:通过
workbook.Sheets[sheetName]
获取指定的工作表。 - 将工作表转换为 JSON:使用
XLSX.utils.sheet_to_json(worksheet)
将工作表转换为 JSON 对象数组,这样可以更方便地处理数据。
如果你仍然遇到问题,请检查你的 Excel 文件是否格式正确,以及路径是否正确。如果问题依旧存在,请提供更多的错误信息以便进一步诊断。
先感谢一下,我按您的方法尝试了,运行后输出不是JSON数组而是如下图:
会不会是底层C++的问题?我是Mac OX系统,楼主是windows吗?