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

vue exceljs 实现导出excel并设置网格线、背景色、 垂直居中、分页打印

一、 下载 exceljs

pnpm install exceljs

二、 页面中使用

    // 导出 exportExcelexportToExcel() {this.$confirm("此操作将导出excel文件, 是否继续?", "提示", {confirmButtonText: "确定",cancelButtonText: "取消",type: "warning",}).then(async () => {const loading = this.$loading({lock: true,text: "导出中...",spinner: "el-icon-loading",background: "rgba(0, 0, 0, 0.7)",});const workbook = new ExcelJS.Workbook();const sheet = workbook.addWorksheet("销售人数明细表");// 设置网格线颜色和间距sheet.properties.gridLines = {color: { argb: "FFC0C0C0" }, // 设置网格线颜色为灰色style: "thin", // 设置网格线样式为细线};// 添加表头const headerRow = sheet.addRow(["项目","签约日期","签约销售","客户姓名","客户编号",]);// 获取表头行对象并设置样式 文字居中,加粗headerRow.eachCell((cell) => {cell.alignment = { vertical: "middle", horizontal: "center" };cell.font = { bold: true };cell.fill = {type: "pattern",pattern: "solid",fgColor: { argb: "FF808080" },};// 设置表头单元格边框cell.border = {top: { style: "thin", color: { argb: "FF000000" } },left: { style: "thin", color: { argb: "FF000000" } },bottom: { style: "thin", color: { argb: "FF000000" } },right: { style: "thin", color: { argb: "FF000000" } },};});const headerRowHeight = 30; // 设置表头行的高度headerRow.height = headerRowHeight;const allData = []; // 用于存储来自不同分页的所有数据的数组const response = await getcheckinlist({...this.formInline,page: 1,limit: 99999,});const { data } = response;allData.push(...data.rows);// 添加表格数据allData.forEach((item) => {const row = sheet.addRow([item.projectname,item.changedate,item.customername,item.username,item.customerno,]);// 设置数据行样式 文字居中row.eachCell((cell) => {// 设置数据行样式 文字居中,设置行高row.eachCell((cell) => {cell.alignment = { vertical: "middle", horizontal: "center" };cell.fill = {type: "pattern",pattern: "solid",fgColor: { argb: "f6f6f6f6" }, // 设置颜色};cell.border = {top: { style: "thin", color: { argb: "FF000000" } },left: { style: "thin", color: { argb: "FF000000" } },bottom: { style: "thin", color: { argb: "FF000000" } },right: { style: "thin", color: { argb: "FF000000" } },};});const dataRowHeight = 30; // 设置数据行的高度row.height = dataRowHeight;});});// 设置列宽sheet.columns.forEach((column) => {column.width = 15;});// 生成文件const buffer = await workbook.xlsx.writeBuffer();const excelData = new Blob([buffer], {type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",});loading.close();// 下载文件saveAs(excelData, "人数明细表.xlsx");}).catch(() => {this.$message({type: "info",message: "导出失败",});});},

相关文章:

vue exceljs 实现导出excel并设置网格线、背景色、 垂直居中、分页打印

一、 下载 exceljs pnpm install exceljs二、 页面中使用 // 导出 exportExcelexportToExcel() {this.$confirm("此操作将导出excel文件, 是否继续?", "提示", {confirmButtonText: "确定",cancelButtonText: "取消",type: "wa…...

TC358774/5显示桥接(MIPI DSI到LVDS)

东芝TC358774/5显示桥针对使用带有MIPI DSI(显示串行接口)连接的主机处理器的手持设备进行了优化。tc358774 /5作为协议桥接,使视频数据流从主机处理器链接到驱动LVDS显示面板。tc358774 /5桥接器可以配置为多达4通道MIPI DSI,每通道数据速率高达1 Gbps&…...

企业内部FAQ常见问题展示分享的价值

企业内部FAQ(常见问题)展示分享是一种将常见问题和解决方案以问答形式呈现给员工的方式。这种方式可以帮助企业提高工作效率、提供一致的解决方案、提升员工满意度和减少重复工作。 企业内部FAQ常见问题展示分享的价值: 1. 提高工作效率 企…...

React 核心开发者 Dan Abramov 宣布从 Meta 离职

导读React.js 核心开发者、Redux 作者 Dan Abramov 在社交平台发文宣布,将辞去在 Meta 的职务: “我感到苦乐参半,几周后我就要辞去 Meta 的工作了。在 Meta 的 React 组织工作是我的荣幸。感谢我过去和现在的同事接纳我,容忍我犯…...

【C/C++】std::vector 优化点(官方同步)

预分配空间:使用 reserve() 方法预分配 vector 的空间,避免频繁的内存分配和拷贝操作。 使用 emplace_back():使用 emplace_back() 方法插入元素,避免了拷贝构造函数的调用,提高了插入效率。 使用移动语义&#xff1…...

【vue3】elementPlus主题色定制

以scss语言为例 1、element-plus自动按需导入配置,可参考官网按需导入模块 安装element-plus及辅助插件 npm i element-plus --save安装辅助插件 npm install -D unplugin-vue-components unplugin-auto-import安装sass npm i sass -D2、vite.config.js 中配置…...

MATLAB 2023a的机器学习、深度学习

MATLAB 2023版的深度学习工具箱,提供了完整的工具链,使您能够在一个集成的环境中进行深度学习的建模、训练和部署。与Python相比,MATLAB的语法简洁、易于上手,无需繁琐的配置和安装,让您能够更快地实现深度学习的任务。…...

【Python实际使用】Python提取pdf中的表格数据输出到excel(含代码实例)

前两天有朋友问我,你能不能帮我把pdf中的表格数据抓出来,输出到excel中,我说我试试。 最近看资料发现python有很多库都可以完成pdf中的表格数据抓取,选择其中一种尝试:pdfplumber。 一、简单介绍 在使用之前我们简单…...

css的transform样式计算-第一节

本文作者为 360 奇舞团前端开发工程师 引言 在使用 css 样式进行样式的缩放、旋转等设置时,思考了一下它的较浅层的原理,恩,这个阶段都 是一些初高的数学计算,从新看这里的时候顺便捡了捡初高中的数学,比如三角函数之类…...

C++中vector、list和deque的选择:什么时候使用它们?

系列文章目录 文章目录 系列文章目录前言一、vector二、list三、deque总结 前言 在C中,vector、list和deque是STL(标准模板库)提供的三种常见的容器。每种容器都有其特点和适用场景。本文将详细介绍vector、list和deque的特点以及它们的适用…...

【力扣每日一题】2023.8.10 下降路径最小和Ⅱ

目录 题目: 示例: 分析: 代码: 题目: 示例: 分析: 题目给我们一个数组,让我们模拟从上面第一层走到下面的最后一层,下降路径需要加上经过的格子的值,每层…...

gh-ost概述(二实践)

注意:只适用于拥有主键或者唯一键的表,不存在触发器的表 一、gh-ost的安装部署 0、yum -y install golang 1、进入官网GitHub - github/gh-ost: GitHub’s Online Schema-migration Tool for MySQL 2、下载gh-ost-master.zip包 3、解压unzip gh-ost-mast…...

临时文档3

Set接口 说一下 HashSet 的实现原理? HashSet 是基于 HashMap 实现的,HashSet的值存放于HashMap的key上,HashMap的value统一为PRESENT,因此 HashSet 的实现比较简单,相关 HashSet 的操作,基本上都是直接调…...

【OpenGauss源码学习 —— 执行算子(SeqScan算子)】

执行算子(SeqScan算子) 执行算子概述扫描算子SeqScan算子ExecInitSeqScan函数InitScanRelation函数ExecSeqScan函数 总结 声明:本文的部分内容参考了他人的文章。在编写过程中,我们尊重他人的知识产权和学术成果,力求遵…...

Postman中,既想传递文件,还想传递多个参数(后端)

需求:既想传文件又想传多个参数可以用以下方式实现...

跨境干货|TikTok变现的9种方法

在这个流量为王的时代,哪里有流量,哪里就有商机。TikTok作为近几年最火爆的社媒平台之一,在全球范围都具有一定的影响力。随着TikTok Shop等商务功能加持上线,更是称为跨境电商的新主场之一。 在这样的UGC平台,想要变…...

Grafana 曲线图报错“parse_exception: Encountered...”

问题现象 配置的Grafana图报错如下: 原因分析 点开报错,可以看到报错详细信息,是查询语句的语法出现了异常。 变量pool的取值为None 解决方案 需要修改变量pool的查询SQL,修改效果如下: 修改后&#x…...

idea中提示Unsupported characters for the charset ‘ISO-8859-1‘

application.properties中文注释拉黄线 ,提示Unsupported characters for the charset ISO-8859-1 解决办法: 注意: 改完之后之前输入的中文就变成“ ???”了,建议备份一下 1、打开setti…...

通过signtool进行数字签名和验证签名

(一)如何签名 SignTool.exe (Sign Tool) - .NET Framework | Microsoft Learn Using SignTool to Sign a File - Win32 apps | Microsoft Learn 签名命令行: signtool.exe sign /f xxx.pfx /t http://timestamp.digicert.com yyy.dll xx…...

geeemap学习总结(2)——地图底图应用

1. 加载库中已有图层 import os os.environ[HTTP_PROXY] http://127.0.0.1:8001 os.environ[HTTPS_PROXY] http://127.0.0.1:8001 # 设置中心位置/地图层级/图层加载高度,加载图层 import geemap Mapgeemap.Map(center[40, 100], zoom4, height600) Map# 添加已经…...

保姆级教程:用Wan2.2-I2V-A14B镜像,RTX4090D快速部署AI视频生成

保姆级教程:用Wan2.2-I2V-A14B镜像,RTX4090D快速部署AI视频生成 1. 准备工作与环境检查 1.1 硬件与系统要求 在开始部署前,请确保您的设备满足以下最低配置要求: 显卡:NVIDIA RTX 4090D 24GB显存(必须匹…...

UniApp实战:Android原生插件实现动态时间水印踩坑全记录(附完整代码)

UniApp实战:Android原生插件实现动态时间水印的深度优化方案 在移动应用开发中,视频处理一直是技术难点之一,特别是需要实时添加动态时间水印的场景。本文将分享在UniApp中开发Android原生插件时,如何高效实现动态时间水印功能&am…...

Windows安卓子系统终极指南:从零到精通完整教程

Windows安卓子系统终极指南:从零到精通完整教程 【免费下载链接】WSA Developer-related issues and feature requests for Windows Subsystem for Android 项目地址: https://gitcode.com/gh_mirrors/ws/WSA 你知道吗?Windows 11上运行安卓应用不…...

RMBG-2.0新手教程:暗黑动漫UI交互逻辑全图解,零基础5分钟上手

RMBG-2.0新手教程:暗黑动漫UI交互逻辑全图解,零基础5分钟上手 你是不是经常为了给照片抠图而头疼?用传统的工具,要么边缘抠不干净,要么头发丝处理得一塌糊涂,费时费力效果还不好。 今天,我要带…...

406记录

栈(Stack)是限定仅在表尾进行插入或删除操作的线性表。因此,对栈来说,表尾端有其特殊含义,称为栈顶(top),相应地,表头端称为栈底(bottom)。不含元…...

Vue实战:打造智能视频播放器——倍速控制、音量调节、进度拖拽与AI字幕生成

1. 从零开始构建Vue智能视频播放器 最近在做一个在线教育项目时,我发现现有的视频播放器功能太过基础,无法满足用户对学习效率的需求。于是决定用Vue自己开发一个带倍速控制、音量调节、进度拖拽和AI字幕的智能播放器。经过两周的实战,我把踩…...

Qwen3-Embedding-4B效果实测:32K长文本理解,中文检索表现惊艳

Qwen3-Embedding-4B效果实测:32K长文本理解,中文检索表现惊艳 1. 引言:为什么关注文本嵌入模型 在信息爆炸的时代,如何让计算机真正"理解"人类语言成为关键挑战。文本嵌入模型(Text Embedding Model&#…...

OneAPI部署实操手册:从零配置到多渠道管理,支持腾讯混元、通义千问、文心一言等全生态

OneAPI部署实操手册:从零配置到多渠道管理,支持腾讯混元、通义千问、文心一言等全生态 你是不是也遇到过这样的烦恼?想用通义千问写代码,用文心一言做PPT,用腾讯混元分析数据,结果每个平台都要单独注册、单…...

STM32G4霍尔有感运行实战:从零配置到电流环闭环调试(附完整代码)

STM32G4霍尔传感器电机控制实战:从电流环配置到闭环调试全解析 霍尔传感器在无刷直流电机(BLDC)控制中扮演着关键角色,它通过检测转子位置为控制系统提供关键的反馈信息。STM32G4系列微控制器凭借其高性能定时器和丰富的外设资源&…...

乙巳马年春联生成终端完整指南:春节礼赠场景高清PNG/AI格式导出

乙巳马年春联生成终端完整指南:春节礼赠场景高清PNG/AI格式导出 1. 引言:当传统年俗遇见AI艺术 春节贴春联,是刻在我们文化基因里的仪式感。但每年都去市场买印刷品,总觉得少了点“专属”的味道。自己写?书法功底不够…...