// 导出按钮点击事件 document.getElementById('exportBtn').onclick = function () { var checkStatus = table.checkStatus('ID-table-demo-search'); var data = checkStatus.data; if (data.length > 0) { // 创建一个Workbook对象 var workbook = XLSX.utils.book_new(); // 创建一个Worksheet对象 var worksheet = XLSX.utils.json_to_sheet(data);

    // 在Worksheet中插入图片
    for (var i = 0; i < data.length; i++) {
        var img = new Image();
        img.src = data[i].image; // 假设图片的URL存在image字段中
        var canvas = document.createElement('canvas');
        var ctx = canvas.getContext('2d');
        ctx.drawImage(img, 0, 0, img.width, img.height);
        var base64 = canvas.toDataURL('image/jpeg');
        var image = new Image();
        image.src = base64;
        var imageAnchor = XLSX.utils.sheet_add_image(worksheet, image, 'A' + (i + 2));
        worksheet['!object'].anchors.push(imageAnchor);
    }

    // 将Worksheet添加到Workbook中
    XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1');
    
    // 将Workbook转换为Excel文件
    var excelBuffer = XLSX.write(workbook, { bookType: 'xlsx', type: 'array' });

    // 保存Excel文件
    saveExcelFile(excelBuffer);
} else {
    layer.msg('请先选择要导出的数据');
}

};

// 保存Excel文件 function saveExcelFile(buffer) { var blob = new Blob([buffer], {type: 'application/octet-stream'}); var fileName = 'export.xlsx';

if (navigator.msSaveBlob) {
    // 兼容IE10及以上
    navigator.msSaveBlob(blob, fileName);
} else {
    var link = document.createElement('a');
    if (link.download !== undefined) {
        // 兼容Chrome、Firefox、Safari
        var url = URL.createObjectURL(blob);
        link.setAttribute('href', url);
        link.setAttribute('download', fileName);
        link.style.visibility = 'hidden';
        document.body.appendChild(link);
        link.click();
        document.body.removeChild(link);
    }
}

}

如何将表格数据和图片导出为Excel文件

原文地址: https://www.cveoy.top/t/topic/qqMY 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录