VTable导出当前页和导出所有页数据

表格导出的是当前显示的表格,如果是分页表格想导出全部的数据话。有两种方法可以实现

  1. 表格先显示的全量数据,导出后再恢复当前页。
  2. 新建一个隐藏的表格实例显示全量数据导出这个隐藏的表格实例。
    在这里插入图片描述
    下面是全量代码:
<template><div><div ref="listTableExport" id = "CONTAINER_ID" style="width: 1580px; height: 800px"></div><div id = "CONTAINER_HiDE" style="display : none"></div><div style="width: 1580px; height: 50px" class="right-align"><button id="first-buttom" > 首页</button><button id="prev-buttom" > 上一页</button><span id="page-namber">1</span><input id="cpnr" type="hidden"><span>/</span><span id="total-page">共 页</span><input id="mpnr" type="hidden"><button id="next-buttom">下一页</button><button id="tail-buttom" > 尾页</button><span id="total-num">共 条</span><input  id="spn" type="number" ><button id="skip-buttom"> 跳转</button></div></div></template><script setup>import * as VTable from '@visactor/vtable';
// 使用时需要引入插件包@visactor/vtable-export
import {downloadCsv,exportVTableToCsv,downloadExcel,exportVTableToExcel,
} from "@visactor/vtable-export";
// umd引入时导出工具会挂载到VTable.exportlet tableInstance;
let tableInstance_hide;
fetch('https://lf9-dp-fe-cms-tos.byteorg.com/obj/bit-cloud/VTable/North_American_Superstore_Pivot_data.json').then(res => res.json()).then(data => {const option = {records: data,rows: [{dimensionKey: 'City',title: 'City',headerStyle: {textStick: true},width: 'auto'}],columns: [{dimensionKey: 'Category',title: 'Category',headerStyle: {textStick: true},width: 'auto'}],indicators: [{indicatorKey: 'Quantity',title: 'Quantity',width: 'auto',showSort: false,headerStyle: {fontWeight: 'normal'},style: {padding: [16, 28, 16, 28],color(args) {if (args.dataValue >= 0) return '#000000';return 'red';}}},{indicatorKey: 'Sales',title: 'Sales',width: 'auto',showSort: false,headerStyle: {fontWeight: 'normal'},format: rec => {return '$' + Number(rec).toFixed(2);},style: {padding: [16, 28, 16, 28],color(args) {if (args.dataValue >= 0) return '#000000';return 'red';}}},{indicatorKey: 'Profit',title: 'Profit',width: 'auto',showSort: false,headerStyle: {fontWeight: 'normal'},format: rec => {return '$' + Number(rec).toFixed(2);},style: {padding: [16, 28, 16, 28],color(args) {if (args.dataValue >= 0) return '#000000';return 'red';}}}],corner: {titleOnDimension: 'row',headerStyle: {textStick: true}},dataConfig: {sortRules: [{sortField: 'Category',sortBy: ['Office Supplies', 'Technology', 'Furniture']}]},widthMode: 'standard',pagination:{perPageCount:10,currentPage:0,},};tableInstance = new VTable.PivotTable(document.getElementById("CONTAINER_ID"), option);const option_hide = {records: data,rows: [{dimensionKey: 'City',title: 'City',}],columns: [{dimensionKey: 'Category',title: 'Category',}],indicators: [{indicatorKey: 'Quantity',title: 'Quantity',},{indicatorKey: 'Sales',title: 'Sales',},{indicatorKey: 'Profit',title: 'Profit',}],dataConfig: {sortRules: [{sortField: 'Category',sortBy: ['Office Supplies', 'Technology', 'Furniture']}]},};  tableInstance_hide = new VTable.PivotTable(document.getElementById("CONTAINER_HiDE"), option_hide);//分页相关代码let pageNumber = 0;// const totalNum = option.records.length;const totalNum = option.pagination.totalCount;const pageSize =option.pagination.perPageCount;const pageNumberSpan = document.getElementById("page-namber");const totalPageSpan = document.getElementById("total-page");const totalNumSpan = document.getElementById("total-num");const totalPg = Math.ceil(totalNum/pageSize);//总页数totalPageSpan.innerHTML='共'+totalPg+'页';totalNumSpan.innerHTML='共'+totalNum+'条';document.getElementById("prev-buttom").addEventListener("click", () => {if (pageNumber === 0) {return;}pageNumber--;tableInstance.updatePagination({currentPage: pageNumber});pageNumberSpan.innerHTML = '第'+(pageNumber+1)+'页';});document.getElementById("first-buttom").addEventListener("click", () => {pageNumber=1;pageNumber--;tableInstance.updatePagination({currentPage: pageNumber});pageNumberSpan.innerHTML = '第'+(pageNumber+1)+'页';document.getElementById("spn").value ='';});document.getElementById("tail-buttom").addEventListener("click", () => {pageNumber=totalPg-1;tableInstance.updatePagination({currentPage: pageNumber});pageNumberSpan.innerHTML = '第'+(pageNumber+1)+'页';document.getElementById("spn").value ='';});document.getElementById("next-buttom").addEventListener("click", () => {if (pageNumber === (totalPg-1)) {return;}pageNumber++;tableInstance.updatePagination({currentPage: pageNumber});pageNumberSpan.innerHTML = '第'+(pageNumber+1)+'页';});document.getElementById("skip-buttom").addEventListener("click", () => {let specificPageNum = document.getElementById("spn").value;//要跳转的页if (specificPageNum > totalPg) {pageNumber=totalPg-1;document.getElementById("spn").value=totalPg;}else{pageNumber = specificPageNum-1}if (specificPageNum <= 0) {pageNumber=0;document.getElementById("spn").value =1;}tableInstance.updatePagination({currentPage: pageNumber});pageNumberSpan.innerHTML = '第'+(pageNumber+1)+'页';});window['tableInstance'] = tableInstance;window['tableInstance_hide'] = tableInstance_hide;bindExport(totalNum,pageNumber);});function bindExport(totalNum,pageNumber) {let exportContainer = document.getElementById('export-buttom');if (exportContainer) {exportContainer.parentElement.removeChild(exportContainer);}exportContainer = document.createElement('div');exportContainer.id = 'export-buttom';exportContainer.style.position = 'absolute';exportContainer.style.bottom = '0';exportContainer.style.right = '0';window['tableInstance'].getContainer().appendChild(exportContainer);const exportCsvButton = document.createElement('button');exportCsvButton.innerHTML = '全量CSV-export';const exportExcelButton = document.createElement('button');exportExcelButton.innerHTML = '全量Excel-export';exportContainer.appendChild(exportCsvButton);exportContainer.appendChild(exportExcelButton);const exportCsvButton_currentPage = document.createElement('button');exportCsvButton_currentPage.innerHTML = '当页CSV-export';const exportExcelButton_currentPage = document.createElement('button');exportExcelButton_currentPage.innerHTML = '当页Excel-export';exportContainer.appendChild(exportCsvButton_currentPage);exportContainer.appendChild(exportExcelButton_currentPage);const exportCsvButton_hide = document.createElement('button');exportCsvButton_hide.innerHTML = '隐藏全量CSV-export';const exportExcelButton_hide = document.createElement('button');exportExcelButton_hide.innerHTML = '隐藏全量Excel-export';exportContainer.appendChild(exportCsvButton_hide);exportContainer.appendChild(exportExcelButton_hide);exportCsvButton.addEventListener('click', () => {window.tableInstance.updatePagination({perPageCount:totalNum,currentPage: pageNumber});if (window.tableInstance) {downloadCsv(exportVTableToCsv(window.tableInstance), 'export');}window.tableInstance.updatePagination({perPageCount:10,currentPage: pageNumber});});exportExcelButton.addEventListener('click', async () => {window.tableInstance.updatePagination({perPageCount:totalNum,currentPage: 0});if (window.tableInstance) {downloadExcel(await exportVTableToExcel(window.tableInstance, {formatExportOutput: ({ cellType, cellValue, table, col, row }) => {          }
} ), 'export');}window.tableInstance.updatePagination({perPageCount:10,currentPage: pageNumber});});exportCsvButton_currentPage.addEventListener('click', () => {if (window.tableInstance) {downloadCsv(exportVTableToCsv(window.tableInstance), 'export');}});exportExcelButton_currentPage.addEventListener('click', async () => {if (window.tableInstance) {downloadExcel(await exportVTableToExcel(window.tableInstance, {formatExportOutput: ({ cellType, cellValue, table, col, row }) => {           }
} ), 'export');}});exportCsvButton_hide.addEventListener('click', () => {if (window.tableInstance_hide) {downloadCsv(exportVTableToCsv(window.tableInstance_hide), 'export');}});exportExcelButton_hide.addEventListener('click', async () => {if (window.tableInstance_hide) {downloadExcel(await exportVTableToExcel(window.tableInstance_hide, {formatExportOutput: ({ cellType, cellValue, table, col, row }) => {         }
} ), 'export');}});
}
</script>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/35470.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

快速创建条形热力图

Excel中的条件格式可以有效的凸显数据特征&#xff0c;如下图中B列所示。 现在需要使用图表展现热力条形图&#xff0c;如下图所示。由于颜色有多个过渡色&#xff0c;因此手工逐个设置数据条的颜色&#xff0c;基本上是不可能完成的任务&#xff0c;使用VBA代码可以快速创建这…

【pytorch03】pytorch基本数据类型

问题&#xff1a;String类型在pytorch中如何表示&#xff1f; 很遗憾&#xff0c;pytorch不是完备的语言库&#xff0c;而是面向数据计算的一个GPU加速库&#xff0c;因此没有内建对string的支持 我们会在做NLP的时候会遇到all string处理的问题&#xff0c;就比如说一句话&am…

华硕PRIME B450M-K主板开启虚拟化

1.判断电脑是否开启了虚拟化 按下CtrlShiftESC打开任务管理器&#xff0c;切换到性能页面&#xff0c;选择查看CPU 如果在右下角看到虚拟化&#xff1a;已禁用&#xff0c;则没有开启虚拟化 2.进入BIOS 重启或开机时&#xff0c;按下DEL或F2进入BIOS设置界面。 屏幕提示&am…

SAP系统中如何用事务码图形视图寻找MD04增强开发实施点

在之前发布的文章中&#xff0c;介绍了善用事务码的图形视图以观察事务的执行流程以及如何在MD04中实施增强以改变生产订单的显示顺序。本文结合两者&#xff0c;介绍一下如何利用事务码的图形视图找到增强开发的实施点。 在事务码中输入SE93&#xff0c;进入图形视图&#xf…

生命在于学习——Python人工智能原理(4.6)

在这里插一句话&#xff0c;我有两个好兄弟的github项目&#xff0c;感兴趣的可以去看一下&#xff0c;star一下&#xff0c;谢谢。 https://github.com/fliggyaa/fscanpoc https://github.com/R0A1NG/Botgate_bypass 四、Python的程序结构与函数 4.1 Python的分支结构 &…

如何将个人电脑做P2V备份到虚拟化平台

背景&#xff1a;公司员工个人电脑绑定了商用软件的license&#xff0c;现在员工离职&#xff0c;license又需要使用&#xff0c;电脑就一直被占用。 解决方法&#xff1a;利用VMware Vcenter Converter Standalone将此台式电脑上载到公司虚拟化平台上 具体做法&#xff0c;下…

.NET C# 树遍历、查询、拷贝与可视化

.NET C# 树遍历、查询、拷贝与可视化 目录 .NET C# 树遍历、查询、拷贝与可视化1 组件安装1.1 NuGet包管理器安装&#xff1a;1.2 控制台安装&#xff1a; 2 接口1.1 ITree\<TTreeNode\>1.2 ITree\<TKey, TTreeNode\>1.3 IObservableTree\<TTreeNode\>1.4 IO…

昇思25天学习打卡营第7天 | 模型训练

内容介绍&#xff1a; 模型训练一般分为四个步骤&#xff1a; 1. 构建数据集。 2. 定义神经网络模型。 3. 定义超参、损失函数及优化器。 4. 输入数据集进行训练与评估。 具体内容&#xff1a; 1. 导包 import mindspore from mindspore import nn from mindspore.dataset…

手把手教你使用kimi创建流程图【实践篇】

学境思源&#xff0c;一键生成论文初稿&#xff1a; AcademicIdeas - 学境思源AI论文写作 引言 在昨日的文章中&#xff0c;我们介绍了如何使用Kimi生成论文中的流程图。今天&#xff0c;我们将更进一步&#xff0c;通过实践案例来展示Kimi在生成流程图方面的应用。这不仅将加…

【大数据技术原理与应用(概念、存储、处理、分析与应用)】第1章-大数据概述习题与知识点回顾

文章目录 单选题多选题知识点回顾几次信息化浪潮主要解决什么问题&#xff1f;信息科技为大数据时代提供哪些技术支撑&#xff1f;数据产生方式有哪些变革&#xff1f;大数据的发展历程大数据的四个特点&#xff08;4V&#xff09;大数据对思维方式的影响大数据有哪些关键技术&…

软考《信息系统运行管理员》-1.2信息系统运维

1.2信息系统运维 传统运维模式&#xff08;软件&#xff09; 泛化&#xff1a;软件交付后围绕其所做的任何工作纠错&#xff1a;软件运行中错误的发现和改正适应&#xff1a;为适应环境做出的改变用户支持&#xff1a;为软件用户提供的支持 新的不同视角下的运维 “管理”的…

Java 面试指南合集

线程篇 springBoot篇 待更新 黑夜无论怎样悠长&#xff0c;白昼总会到来。 此文会一直更新哈 如果你希望成功&#xff0c;当以恒心为良友&#xff0c;以经验为参谋&#xff0c;以当心为兄弟&#xff0c;以希望为哨兵。

拉普拉斯变换与卷积

前面描述 卷积&#xff0c;本文由卷积引入拉普拉斯变换。 拉普拉斯变换就是给傅里叶变换的 iωt 加了个实部&#xff0c;也可以反着理解&#xff0c;原函数乘以 e − β t e^{-\beta t} e−βt 再做傅里叶变换&#xff0c;本质上都是傅里叶变换的扩展。 加入实部的拉普拉斯变…

【建设方案】智慧园区大数据云平台建设方案(DOC原件)

大数据云平台建设技术要点主要包括以下几个方面&#xff1a; 云计算平台选择&#xff1a;选择安全性高、效率性强、成本可控的云计算平台&#xff0c;如阿里云、腾讯云等&#xff0c;确保大数据处理的基础环境稳定可靠。 数据存储与管理&#xff1a;利用Hadoop、HBase等分布式…

一年Java转GO|19K|腾讯 CSIG 一二面经

面经哥只做互联网社招面试经历分享&#xff0c;关注我&#xff0c;每日推送精选面经&#xff0c;面试前&#xff0c;先找面经哥 背景 学历&#xff1a;本科工作经验&#xff1a;一年(不算实习)当前语言&#xff1a;Javabase&#xff1a;武汉部门\岗位&#xff1a;腾讯云‍ 一…

5000天后的世界:科技引领的未来之路

**你是否想过&#xff0c;5000天后的世界会是什么样子&#xff1f;** 科技日新月异&#xff0c;改变着我们的生活方式&#xff0c;也引领着人类文明的进程。著名科技思想家凯文凯利在他的著作《5000天后的世界》中&#xff0c;对未来进行了大胆的预测。 **这本书中&#xff0c…

基于微信小程序的在线点餐系统【前后台+附源码+LW】

摘 要 随着社会的发展&#xff0c;社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 点餐小程序&#xff0c;主要的模块包括实现管理员&#xff1b;管理员用户&#xff0c;可以对整个系统进行基本的增删改查&#xff0c;系统的日…

Opencv+python模板匹配

我们经常玩匹配图像或者找相似&#xff0c;opencv可以很好实现这个简单的小功能。 模板是被查找目标的图像&#xff0c;查找模板在原始图像中的哪个位置的过程就叫模板匹配。OpenCV提供的matchTemplate()方法就是模板匹配方法&#xff0c;其语法如下&#xff1a; result cv2.…

使用go语言来完成复杂excel表的导出导入

使用go语言来完成复杂excel表的导出导入&#xff08;一&#xff09; 1.复杂表的导入 开发需求是需要在功能页面上开发一个excel文件的导入导出功能&#xff0c;这里的复杂指定是表内数据夹杂着一对多&#xff0c;多对一的形式&#xff0c;如下图所示。数据杂乱而且对应不统一。…

中国90米分辨率可蚀性因子K数据

土壤可蚀性因子&#xff08;K&#xff09;数据&#xff0c;基于多种土壤属性数据计算&#xff0c;所用数据包括土壤黏粒含量&#xff08;%&#xff09;、粉粒含量&#xff08;%&#xff09;、砂粒含量&#xff08;%&#xff09;、土壤有机碳含量&#xff08;g/kg&#xff09;、…