步骤简单又是免费
效果图
图片存储于Excel中,而不是路径而已(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
以上就是本人导出的实现方式,如有其他更好的方法欢迎留言!