nodejs导出Excel带图片,excel4nodejs导出图片到Excel

步骤简单又是免费

效果图
图片存储于Excel中,而不是路径而已(Excel文件随着图片大小变动而明显)
nodejs导出Excel带图片
实现步骤

主要安装插件

npm i excel4node

【代码实现在最后面】

使用方式

首先安装excel4node

安装方式一
在这里插入图片描述
在这里插入图片描述
安装方式二

或者到idea或WebStorm中安装

在这里插入图片描述

安装完成后目录下的

package.json
package-lock.json
内容会自动修改(自动添加版本和路径)

package.json内的改动

"excel4node": "^1.7.2",

在这里插入图片描述
package-lock.json的改动

"excel4node": {
      "version": "1.7.2",
      "resolved": "https://registry.npmjs.org/excel4node/-/excel4node-1.7.2.tgz",
      "integrity": "sha512-3XSsPSSbUeGloTRQMTmgf4aA1WDGa9fWQitOCGN/URG8NvwPjgVdbyG7FWKukqTdl5XBz9jv0vVBz3BBIo52tg==",
      "requires": {
        "deepmerge": "3.2.0",
        "image-size": "0.7.2",
        "jszip": "3.2.1",
        "lodash.get": "4.4.2",
        "lodash.isequal": "4.5.0",
        "lodash.isundefined": "3.0.1",
        "lodash.reduce": "4.6.0",
        "lodash.uniqueid": "4.0.1",
        "mime": "2.4.0",
        "uuid": "3.3.2",
        "xmlbuilder": "11.0.1"
      },

在这里插入图片描述
引入使用

var en = require('excel4node');

创建

function excelExport(){
	var wb = new en.Workbook();// 创建实例
    var ws = wb.addWorksheet('Attendance Record');// 页名
    var style = wb.createStyle({// 样式(可自行查看官方API)
        font: {// 标题使用
            color: '#50878a',
            size: 12,
            bold:true
        },
        alignment: {
            wrapText: true,
            horizontal: 'center',
            vertical:'center',
        },
    });
    var style2 = wb.createStyle({// 样式二
            font: {
                size: 12,
            },
            alignment: {
                wrapText: true,
                horizontal: 'center',
                vertical:'center',
            },
        });
    ws.cell(1, 1).string("姓名").style(style);// 不是从下标开始的,第一行第一列
    ws.cell(1, 2).string("图片").style(style);// 不是从下标开始的,第一行第二列
    ws.column(1).setWidth(10);// 第一列的宽度
    ws.column(2).setWidth(20);// 第二列的宽度
    ws.row(1).setHeight(10);// 第一行的高度
    ws.cell(2, 1).string("张三").style(style2);
    ws.row(2).setHeight(20);// 第二行的高度
    // 插入图片
    try {
         ws.addImage({// 导出图片的方式有三种,这是其中一种(详细参考下面网站)
             path: 'D://test.jpg',
             type: 'picture',
             position: {
                 type: 'twoCellAnchor',
                 from: {
                     col: 2, // 列的位置
                     colOff: 0,
                     row: 2, // 行的位置
                     rowOff: 0,
                 },
                 to: {
                     col: 3,// 列的位置加一
                     colOff: 0,
                     row: 3,// 行的位置加一(说实在不知道为啥国外这么定义,下标和实标可以理解,实标和实标加一就有点...)
                     rowOff: 0,
                 },
             },
         });
     }catch (e){
         //console.log("图片异常")
     }
     // 最后一步就是导出Excel了
     wb.write("D://excel.xls");
}

最后导出效果如下:

数据是随便录的,请不要在意这些细节,谢谢
在这里插入图片描述

详情参考网站如下:

参考网址:https://github.com/hxj9102/table2excel

插件下载及说明:https://www.npmjs.com/package/excel4node
https://github.com/natergj/excel4node

以上就是本人导出的实现方式,如有其他更好的方法欢迎留言!

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 文件。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值