当前位置: 首页 > article >正文

Vue3 打印表格、Element Plus 打印、前端打印、表格导出打印、打印插件封装、JavaScript 打印、打印预览

🚀 Vue3 高级表格打印工具封装(支持预览、分页、样式美化)

现已更新至npm 
# npm
npm install vue-table-print# yarn
yarn add vue-table-print# pnpm
pnpm add vue-table-print
githunb地址: https://github.com/zhoulongshao/vue-table-print/blob/main/README.MD

关键词:Vue3 打印表格、Element Plus 打印、前端打印、表格导出打印、打印插件封装、JavaScript 打印、打印预览

在企业级应用中,我们经常遇到打印报表、导出数据的需求,今天分享一个基于 Vue3 封装的表格打印工具类,支持:

  • 🖨️ 表格打印 & 预览
  • 🎨 样式高度可定制
  • 📄 分页支持
  • 🧩 formatter 格式化器
  • ✅ 可组合式 API(useTablePrint

🧠 核心封装代码

// utils/tablePrint.js
// 高级表格打印工具类
export class TablePrintUtil {constructor(options = {}) {this.options = {title: '数据表格',showHeader: true,showFooter: true,pageSize: 'A4',orientation: 'portrait',margins: '1cm',fontSize: '12px',headerStyle: {backgroundColor: '#f5f7fa',color: '#333',fontWeight: 'bold'},...options}}async printTable(data, columns, customOptions = {}) {const finalOptions = { ...this.options, ...customOptions }try {const printContent = this.generateAdvancedHTML(data, columns, finalOptions)await this.executePrint(printContent, finalOptions)} catch (error) {console.error('打印失败:', error)throw error}}generateAdvancedHTML(data, columns, options) {const currentTime = new Date().toLocaleString('zh-CN')const totalPages = Math.ceil(data.length / 20)return \`<!DOCTYPE html><html><head><meta charset="utf-8"><title>\${options.title}</title><style>\${this.generatePrintStyles(options)}</style></head><body>\${options.showHeader ? this.generateHeader(options, currentTime) : ''}\${this.generateTableContent(data, columns, options)}\${
http://www.lryc.cn/news/2383947.html

相关文章:

  • 湖北理元理律师事务所:专业债务优化如何助力负债者重获生活掌控权
  • RAGFlow知识检索原理解析:混合检索架构与工程实践
  • 5月22总结
  • Java设计模式之桥接模式:从入门到精通
  • uni-app学习笔记九-vue3 v-for指令
  • MAC电脑中右键后复制和拷贝的区别
  • Regmap子系统之六轴传感器驱动-编写icm20607.c驱动
  • 常见高危端口解析:网络安全中的“危险入口”
  • 华为2025年校招笔试手撕真题教程(二)
  • 征程 6 J6E/M linear 双int16量化支持替代方案
  • 深度学习模块缝合拼接方法套路+即插即用模块分享
  • 改写视频生产流程!快手SketchVideo开源:通过线稿精准控制动态分镜的AI视频生成方案
  • Graphics——基于.NET 的 CAD 图形预览技术研究与实现——CAD c#二次开发
  • ElasticSearch 8.x 快速上手并了解核心概念
  • AI神经网络降噪 vs 传统单/双麦克风降噪的核心优势对比
  • 04-Web后端基础(基础知识)
  • Spring Cloud生态与技术选型指南:如何构建高可用的微服务系统?
  • 手写简单的tomcat
  • 高等数学-积分
  • IOS平台Unity3D AOT全局模块结构分析
  • Vue 3.0中自定义指令
  • 在 语义分割 和 图像分类 任务中,image、label 和 output 的形状会有所不同。
  • C++面试4-sizeof解析
  • CyberSecAsia专访CertiK首席安全官:区块链行业亟需“安全优先”开发范式
  • uniapp如何设置uni.request可变请求ip地址
  • 文件操作和IO-3 文件内容的读写
  • 架构的设计
  • SpringAI 大模型应用开发篇-SpringAI 项目的新手入门知识
  • 编程速递-RAD Studio 12.3 Athens五月补丁:May Patch Available
  • Vue3实现轮播表(表格滚动)