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

 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, '打开文档成功');
                        }
                    });
                }
            }
        })

猜你喜欢

转载自blog.csdn.net/m0_59799878/article/details/129867664
今日推荐