nodejs 使用xlsx包的示例
时间: 2023-08-31 16:26:49 浏览: 142
好的,以下是一个使用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` 包读取二进制文件流并输出为 `utf8` 格式的示例代码:
```javascript
const fs = require('fs');
const xlsx = require('xlsx');
// 读取二进制文件流
const file = fs.readFileSync('example.xlsx');
// 将二进制文件流转换为 workbook 对象
const workbook = xlsx.read(file, { type: 'buffer' });
// 获取第一个工作表
const sheetName = workbook.SheetNames[0];
const worksheet = workbook.Sheets[sheetName];
// 将工作表转换为 JSON 对象
const json = xlsx.utils.sheet_to_json(worksheet);
// 将 JSON 对象输出为 UTF-8 格式的字符串
const output = JSON.stringify(json, null, 2);
console.log(output);
```
在上面的示例中,我们使用 `fs` 模块读取二进制文件流,然后使用 `xlsx` 包将其转换为 `workbook` 对象。接着,我们从 `workbook` 对象中获取第一个工作表,并将其转换为 JSON 对象。最后,我们使用 `JSON.stringify` 方法将 JSON 对象输出为 UTF-8 格式的字符串。
nodejs 使用msql查询 导出excel文件
要将MySQL查询结果导出为Excel文件,可以使用Node.js中的ExcelJS库。以下是一个示例代码,演示了如何使用ExcelJS从MySQL中查询数据并将其导出为Excel文件。
首先,需要安装ExcelJS和mysql2 npm包:
```
npm install exceljs mysql2
```
接下来,可以使用以下代码示例从MySQL中查询数据并将其导出为Excel文件:
```javascript
const mysql = require('mysql2');
const ExcelJS = require('exceljs');
// 创建一个 MySQL 连接池
const pool = mysql.createPool({
host: 'localhost',
user: 'root',
password: 'password',
database: 'mydatabase'
});
// 查询数据
const query = 'SELECT * FROM mytable';
pool.query(query, (err, rows) => {
if (err) {
console.log(err);
return;
}
// 创建一个新的工作簿
const workbook = new ExcelJS.Workbook();
const worksheet = workbook.addWorksheet('My Sheet');
// 将查询结果添加到工作表中
worksheet.columns = [
{header: 'ID', key: 'id'},
{header: 'Name', key: 'name'},
{header: 'Age', key: 'age'}
];
rows.forEach(row => {
worksheet.addRow(row);
});
// 将工作簿写入文件
workbook.xlsx.writeFile('mydata.xlsx')
.then(() => {
console.log('Excel file created successfully');
})
.catch(err => {
console.log(err);
});
});
```
这个示例代码中,我们首先创建了一个MySQL连接池。然后,我们使用连接池从MySQL中查询数据,并将查询结果保存在`rows`数组中。接下来,我们创建一个新的Excel工作簿并添加一个名为"My Sheet"的工作表。然后,我们将查询结果添加到工作表中,并将工作簿写入名为"mydata.xlsx"的Excel文件中。
请注意,这个示例代码仅仅是一个简单的演示,实际应用中可能需要更多的错误处理和数据转换。
阅读全文