nodejs mysql导出excel
时间: 2023-09-10 08:03:47 浏览: 50
Node.js 可以使用第三方库将 MySQL 数据导出为 Excel 文件。以下是使用 `mysql` 和 `exceljs` 这两个库实现导出的示例代码:
首先,你需要通过 `npm` 安装这两个库:
```
npm install mysql exceljs
```
然后创建一个 `exportExcel.js` 文件,并将以下代码复制到文件中:
```javascript
const mysql = require('mysql');
const ExcelJS = require('exceljs');
// 创建 MySQL 连接
const connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: 'password',
database: 'database_name',
});
// 连接 MySQL
connection.connect((error) => {
if (error) {
console.error('Error connecting to MySQL:', error);
return;
}
console.log('Connected to MySQL');
// 查询数据
connection.query('SELECT * FROM table_name', (error, results) => {
if (error) {
console.error('Error querying MySQL:', error);
return;
}
console.log('Retrieved data from MySQL');
// 创建工作簿
const workbook = new ExcelJS.Workbook();
const worksheet = workbook.addWorksheet('Sheet 1');
// 将数据添加到工作表
results.forEach((row, index) => {
const rowIndex = index + 1;
Object.values(row).forEach((value, columnIndex) => {
const cellIndex = columnIndex + 1;
worksheet.getCell(`${String.fromCharCode(64 + cellIndex)}${rowIndex}`).value = value;
});
});
// 保存工作簿为 Excel 文件
workbook.xlsx.writeFile('export.xlsx')
.then(() => {
console.log('Excel file exported');
})
.catch((error) => {
console.error('Error exporting Excel file:', error);
})
.finally(() => {
// 关闭数据库连接
connection.end();
console.log('Disconnected from MySQL');
});
});
});
```
以下是文件中需要注意的几点:
- 在 `connection` 对象的配置中,你需要替换 `localhost`、`root`、`password` 和 `database_name` 为你的 MySQL 连接信息。
- 在 `connection.query` 中,你需要替换 `table_name` 为你要导出数据的表名。
- 在 `workbook.xlsx.writeFile` 中,你需要替换 `export.xlsx` 为你想要导出的 Excel 文件的路径。
当你运行这段代码时,它会连接到 MySQL 数据库,并查询你指定的表中的数据。然后,它会将查询结果转换为 Excel 文件 (`export.xlsx`) 并保存到当前文件夹中。
希望这个示例可以帮助你理解如何使用 Node.js 将 MySQL 数据导出为 Excel 文件。