Nodejs将mysql表转换成excel,微信小程序获取excel

该文章展示了一种方法,通过Node.js连接MySQL数据库查询数据,然后使用ExcelJS库将查询结果转化为Excel文件。文件生成后,通过微信小程序的下载功能提供给用户,用户可以下载并打开Excel文档。
摘要由CSDN通过智能技术生成

 nodejs端:

const mysql = require('mysql');
const Excel = require('exceljs');

// 创建数据库连接
const connection = mysql.createConnection({
  host: 'localhost',
  user: 'root',
  password: '',
  database: 'your_database_name'
});

// 查询表数据并导出为Excel文件
connection.query('SELECT * FROM your_table_name', (error, results, fields) => {
  if (error) throw error;

  // 创建工作簿和工作表
  const workbook = new Excel.Workbook();
  const worksheet = workbook.addWorksheet('Sheet1');

  // 将表头添加到工作表中
  const columns = [];
  for (const column of fields) {
    columns.push({ header: column.name, key: column.name });
  }
  worksheet.columns = columns;

  // 将数据添加到工作表中
  for (const row of results) {
    worksheet.addRow(row);
  }

  // 生成Excel文件
  const buffer = await workbook.xlsx.writeBuffer();

  // 将Excel文件通过路由返回给微信小程序
  res.setHeader('Content-Disposition', 'attachment; filename=your_file_name.xlsx');
  res.setHeader('Content-Type', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
  res.send(buffer);
});

// 关闭数据库连接
connection.end();

 微信小程序端:

 wx.downloadFile({
            url: url,
            success(res) {
                if (res.statusCode === 200) {
                    const filePath = res.tempFilePath;
                    wx.openDocument({
                        filePath: filePath,
                        showMenu: true,
                        success: function (res) {
                            console.log(res, '打开文档成功');
                        }
                    });
                }
            }
        })

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晓小邰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值