nodejs 使用xlsx包的示例
时间: 2023-08-31 20:26:49 浏览: 45
好的,以下是一个使用xlsx包读取Excel文件并输出数据的示例代码:
```javascript
const XLSX = require('xlsx');
const workbook = XLSX.readFile('example.xlsx');
const sheet_name_list = workbook.SheetNames;
const data = XLSX.utils.sheet_to_json(workbook.Sheets[sheet_name_list[0]]);
console.log(data);
```
其中,`require('xlsx')`导入了xlsx包。`XLSX.readFile('example.xlsx')`读取了名为`example.xlsx`的Excel文件,返回一个Workbook对象。`workbook.SheetNames`返回所有工作表的名称,`workbook.Sheets[sheet_name_list[0]]`返回第一个工作表的数据。`XLSX.utils.sheet_to_json`将工作表数据转换为JSON格式的数据,并返回一个数组。最后,`console.log(data)`将JSON格式的数据输出到控制台。
这个示例代码可以读取Excel文件的第一个工作表的数据,并将其输出到控制台。你可以根据需要进行修改,比如读取其他工作表的数据。
相关问题
nodejs 使用xlsx包读取文件流binary并已utf8格式输出的示例
下面是一个使用 xlsx 包读取二进制文件流并以 UTF-8 格式输出的示例:
```javascript
const XLSX = require('xlsx');
const fs = require('fs');
const filePath = './example.xlsx'; // 文件路径
const fileData = fs.readFileSync(filePath); // 读取文件数据
const workbook = XLSX.read(fileData, { type: 'buffer' }); // 将文件数据转换为 workbook 对象
const worksheet = workbook.Sheets[workbook.SheetNames[0]]; // 获取第一个 sheet 的数据
const sheetData = XLSX.utils.sheet_to_json(worksheet, { header: 1 }); // 将 sheet 转换为 JSON 数组
console.log(sheetData); // 输出 sheet 数据
```
在上面的示例中,我们首先使用 `fs.readFileSync()` 方法读取文件数据,然后使用 `XLSX.read()` 方法将文件数据转换为 workbook 对象。接着,我们从 workbook 中获取第一个 sheet 的数据,并使用 `XLSX.utils.sheet_to_json()` 方法将 sheet 转换为 JSON 数组。最后,我们将 sheet 数据以 UTF-8 格式输出到控制台。
需要注意的是,上面的示例中使用的是 `fs.readFileSync()` 方法来读取文件数据,这意味着程序会一直等待,直到文件读取完成。如果需要异步读取文件数据,可以使用 `fs.readFile()` 方法。
使用nodejs读取多个格式相同的xlsx文件,提取每个xlsx文件Q5位置的数据,汇总后生成一个新的xlsx文件
可以使用`xlsx`模块来实现读取和写入xlsx文件。以下是一个基本的代码示例:
```javascript
const XLSX = require('xlsx');
const fs = require('fs');
// 读取多个文件
const files = ['file1.xlsx', 'file2.xlsx', 'file3.xlsx'];
// 定义要提取的单元格位置
const cellPosition = 'Q5';
// 定义要存储的数据数组
const data = [];
// 遍历每个文件并读取数据
files.forEach(file => {
const workbook = XLSX.readFile(file);
const worksheet = workbook.Sheets[workbook.SheetNames[0]];
const cell = worksheet[cellPosition];
data.push(cell.v);
});
// 创建新的工作簿和工作表
const newWorkbook = XLSX.utils.book_new();
const newWorksheet = XLSX.utils.json_to_sheet([{ Q5: data }]);
// 将工作表添加到工作簿中
XLSX.utils.book_append_sheet(newWorkbook, newWorksheet, 'Sheet1');
// 将工作簿写入新的xlsx文件
XLSX.writeFile(newWorkbook, 'summary.xlsx');
```
这个代码示例假设所有的文件都有相同的表格结构,即每个文件的第一个工作表都有一个名为Q5的单元格,并且需要提取该单元格的值来汇总到一个新的文件中。你可以根据实际情况进行修改。