zoukankan      html  css  js  c++  java
  • 表格打印

    使用print-js库

    1.普通表格

    printJS({
        printable: id, // DOM id
        type: 'html',
        scanStyles: false,
    })

    2.element-ui表格打印

    function printHTML(id) {
        const html = document.querySelector('#' + id).innerHTML
        // 新建一个 DOM
        const div = document.createElement('div')
        const printDOMID = 'printDOMElement'
        div.id = printDOMID
        div.innerHTML = html
    
        // 提取第一个表格的内容 即表头
        const ths = div.querySelectorAll('.el-table__header-wrapper th')
        const ThsTextArry = []
        for (let i = 0, len = ths.length; i < len; i++) {
            if (ths[i].innerText !== '') ThsTextArry.push(ths[i].innerText)
        }
    
        // 删除多余的表头
        div.querySelector('.hidden-columns').remove()
        // 第一个表格的内容提取出来后已经没用了 删掉
        div.querySelector('.el-table__header-wrapper').remove()
    
        // 将第一个表格的内容插入到第二个表格
        let newHTML = '<tr>'
        for (let i = 0, len = ThsTextArry.length; i < len; i++) {
            newHTML += '<td style="text-align: center; font-weight: bold">' + ThsTextArry[i] + '</td>'
        }
    
        newHTML += '</tr>'
        div.querySelector('.el-table__body-wrapper table').insertAdjacentHTML('afterbegin', newHTML)
        // 将新的 DIV 添加到页面 打印后再删掉
        document.querySelector('body').appendChild(div)
        
        printJS({
            printable: printDOMID,
            type: 'html',
            scanStyles: false,
            style: 'table { border-collapse: collapse }' // 表格样式
        })
    
        div.remove()
    }

    element-ui 表格打印

  • 相关阅读:
    js+canvas画随机4位验证码
    linux 下 查看 nginx 日志中访问前10 的 ip
    mysql greatest函数
    php 如何获取 post 传递的raw 数据
    php 监控文件变化 并上传到服务器
    php 如何统计本周 本月
    Yii2.0 GridView 的强大功能
    git 导出新修改的文件
    ubuntu16.04 下安装phpMyAdmin
    如何在ubuntu16.04 上搭建 phpstorm + xdebug 调试
  • 原文地址:https://www.cnblogs.com/zhangrenjie/p/14137704.html
Copyright © 2011-2022 走看看