当前位置:首页 > JavaScript

js怎么实现表格打印

2026-04-04 18:40:17JavaScript

使用window.print()方法打印整个页面

在HTML中创建一个表格,并通过JavaScript调用window.print()方法触发浏览器打印功能。这种方式会打印整个页面内容,包括表格。

<table id="printTable">
  <tr><th>姓名</th><th>年龄</th></tr>
  <tr><td>张三</td><td>25</td></tr>
  <tr><td>李四</td><td>30</td></tr>
</table>
<button onclick="window.print()">打印表格</button>

创建打印专用样式表

通过CSS媒体查询设置打印时的样式,隐藏不需要打印的元素,优化表格打印效果。

js怎么实现表格打印

<style>
@media print {
  body * {
    visibility: hidden;
  }
  #printTable, #printTable * {
    visibility: visible;
  }
  #printTable {
    position: absolute;
    left: 0;
    top: 0;
  }
}
</style>

使用iframe实现局部打印

创建一个隐藏的iframe,将表格内容复制到iframe中,然后打印iframe内容。

js怎么实现表格打印

function printTable() {
  const table = document.getElementById('printTable');
  const printWindow = document.createElement('iframe');
  printWindow.style.display = 'none';
  document.body.appendChild(printWindow);

  printWindow.contentDocument.write('<html><head><title>打印表格</title></head><body>');
  printWindow.contentDocument.write(table.outerHTML);
  printWindow.contentDocument.write('</body></html>');
  printWindow.contentDocument.close();

  printWindow.contentWindow.focus();
  printWindow.contentWindow.print();

  document.body.removeChild(printWindow);
}

使用CSS控制分页打印

通过CSS的page-break属性控制表格打印时的分页行为,避免表格被截断。

@media print {
  table {
    page-break-inside: avoid;
  }
  tr {
    page-break-inside: avoid;
    page-break-after: auto;
  }
}

使用第三方库实现高级打印功能

可以使用jsPDF等第三方库将表格导出为PDF后再打印,实现更复杂的打印需求。

function printWithJsPDF() {
  const { jsPDF } = window.jspdf;
  const doc = new jsPDF();
  const table = document.getElementById('printTable');

  doc.autoTable({
    html: table,
    theme: 'grid',
    headStyles: { fillColor: [22, 160, 133] }
  });

  doc.save('table.pdf');
  // 或者直接打印
  // doc.autoPrint();
  // window.open(doc.output('bloburl'));
}

标签: 表格js
分享给朋友:

相关文章

js实现倒计时

js实现倒计时

使用 setInterval 实现倒计时 通过 setInterval 定时器每秒更新剩余时间,适用于简单倒计时场景。 function countdown(seconds, callback) {…

js实现乘

js实现乘

JavaScript 实现乘法运算 在 JavaScript 中实现乘法运算可以通过多种方式完成,包括基本运算符、函数封装以及高级算法(如大数乘法)。以下是几种常见方法: 使用基本乘法运算符 Jav…

css好看的表格制作

css好看的表格制作

使用CSS制作美观表格的方法 边框与间距优化 通过border-collapse属性合并边框,避免双边框效果。设置padding增加单元格内边距,提升可读性。 table { border-…

js树实现

js树实现

树的基本概念 树是一种非线性的数据结构,由节点和边组成。每个节点包含一个值和指向子节点的引用。树的顶部节点称为根节点,没有子节点的节点称为叶节点。 树的实现方式 在JavaScript中,树可以通过…

vue实现js休眠

vue实现js休眠

实现 JavaScript 休眠的方法 在 Vue 中实现 JavaScript 休眠(延迟执行)可以通过以下方式实现。由于 JavaScript 本身没有内置的 sleep 函数,通常使用 Prom…

js实现代码雨

js实现代码雨

实现代码雨效果 使用HTML5 Canvas和JavaScript可以轻松实现经典的代码雨效果。以下是完整的实现代码和说明: HTML结构 <!DOCTYPE html> <htm…