21xrx.com
2025-04-08 03:44:29 Tuesday
文章检索 我的文章 写文章
使用nodejs和jsxlsx将数据导出为Excel表格
2023-07-04 17:38:13 深夜i     12     0
nodejs jsxlsx 数据导出 Excel表格

在开发Web应用程序时,常常需要将从数据库中查询到的数据导出为Excel表格,以便更方便地进行数据分析和处理。使用Node.js和JSXLSX这个Excel表格导出库,可以很容易地实现这个功能。

首先,我们需要使用Node.js来读取数据库中的数据。以MongoDB为例,我们可以使用Mongoose来连接数据库。一个简单的查询数据并返回结果的代码如下:

const mongoose = require('mongoose');
const Schema = mongoose.Schema;
mongoose.connect('mongodb://localhost/test', { useNewUrlParser: true });
const UserSchema = new Schema(
 age: Number
);
const UserModel = mongoose.model('User', UserSchema);
UserModel.find({}, (err, users) =>
 // 将数据导出为Excel表格
);

接下来,我们需要使用JSXLSX来将结果导出为Excel表格。首先,我们需要安装JSXLSX:

npm install xlsx --save

然后,我们可以使用下面的代码将结果导出为Excel表格:

const XLSX = require('xlsx');
const workbook = XLSX.utils.book_new();
const worksheet = XLSX.utils.json_to_sheet(users);
XLSX.utils.book_append_sheet(workbook, worksheet, 'Users');
XLSX.writeFile(workbook, 'users.xlsx');

其中,`XLSX.utils.json_to_sheet()`函数将数据转换为工作表的格式,`XLSX.utils.book_append_sheet()`函数将工作表添加到工作薄中,最后使用`XLSX.writeFile()`函数将工作薄保存为Excel表格文件。

完整代码示例:

const mongoose = require('mongoose');
const Schema = mongoose.Schema;
mongoose.connect('mongodb://localhost/test', { useNewUrlParser: true });
const UserSchema = new Schema(
 name: String);
const UserModel = mongoose.model('User', UserSchema);
UserModel.find({}, (err, users) => {
 const XLSX = require('xlsx');
 const workbook = XLSX.utils.book_new();
 const worksheet = XLSX.utils.json_to_sheet(users);
 XLSX.utils.book_append_sheet(workbook, worksheet, 'Users');
 XLSX.writeFile(workbook, 'users.xlsx');
});

运行该程序,将会在项目目录下生成一个名为`users.xlsx`的Excel表格文件,包含查询到的所有数据。

使用Node.js和JSXLSX库来导出数据为Excel表格,既简单又方便。开发者们可以通过这种方式,更方便地进行数据分析、展示和处理。

  
  

评论区