nodejs 使用msql查询 导出excel文件
时间: 2024-05-16 10:18:15 浏览: 66
要将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文件中。
请注意,这个示例代码仅仅是一个简单的演示,实际应用中可能需要更多的错误处理和数据转换。
阅读全文