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

vue到出excel

安装

npm install exceljs
npm install file-saver
<template><button @click="dade66">导出 66</button>
</template><script>
import ExcelJS from 'exceljs';
import { saveAs } from 'file-saver';export default {data() {return {data: [{ name: '张三', age: 25, gender: '男' },{ name: '李四', age: 30, gender: '女' },],};},methods: {async dade66() {const workbook = new ExcelJS.Workbook();const worksheet = workbook.addWorksheet('Sheet1');// 设置表头worksheet.columns = [{ header: '姓名', key: 'name' },{ header: '年龄', key: 'age' },{ header: '性别', key: 'gender' },];// 添加数据this.data.forEach(item => {worksheet.addRow({ name: item.name, age: item.age, gender: item.gender });});// 生成 Excel 文件并保存await workbook.xlsx.writeBuffer().then(buffer => {const blob = new Blob([buffer], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });saveAs(blob, 'exported_data.xlsx');});},},
};
</script>

<template><button @click="dade66">导出 66</button>
</template><script>
// npm install exceljs
// npm install file-saver
import ExcelJS from 'exceljs';
import { saveAs } from 'file-saver';export default {data() {return {data: [{ name: '张三', age: 25, gender: '男' },{ name: '李四', age: 30, gender: '女' },],};},methods: {async dade66() {const workbook = new ExcelJS.Workbook();const worksheet = workbook.addWorksheet('Sheet1');// 设置表头worksheet.columns = [{ header: '姓名', key: 'name' },{ header: '年龄', key: 'age' },{ header: '性别', key: 'gender' },];// 添加数据this.data.forEach(item => {worksheet.addRow({ name: item.name, age: item.age, gender: item.gender });});// 冻结表头(第一行)worksheet.views = [{state: 'frozen',ySplit: 1}];// 设置列宽worksheet.getColumn(1).width = 15; // 假设设置第一列(姓名列)宽度为 15worksheet.getColumn(2).width = 10; // 假设设置第二列(年龄列)宽度为 10worksheet.getColumn(3).width = 10; // 假设设置第三列(性别列)宽度为 10// 设置行高worksheet.getRow(1).height = 18; // 设置第一行(表头行)高度为 25worksheet.eachRow((row, rowNumber) => {if (rowNumber > 1) {row.height = 18; // 设置数据行高度为 20}});// 设置居中对齐for (let rowNumber = 1; rowNumber <= worksheet.rowCount; rowNumber++) {const row = worksheet.getRow(rowNumber);for (let columnNumber = 1; columnNumber <= worksheet.columnCount; columnNumber++) {const cell = row.getCell(columnNumber);cell.alignment = { vertical: 'middle', horizontal: 'center' };}}// 合并单元格worksheet.mergeCells('A5:C5'); // 合并第一行的 A 到 C 列worksheet.mergeCells('A6:C7'); // 跨行合并// 生成 Excel 文件并保存await workbook.xlsx.writeBuffer().then(buffer => {const blob = new Blob([buffer], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });saveAs(blob, 'exported_data.xlsx');});},},
};
</script>

在这里插入图片描述

http://www.lryc.cn/news/446151.html

相关文章:

  • 【延时队列的实现方式】
  • Fyne ( go跨平台GUI )中文文档- 扩展Fyne (七)
  • Qt (19)【Qt 线程安全 | 互斥锁QMutex QMutexLocker | 条件变量 | 信号量】
  • Java语法-类和对象(上)
  • Presto如何配置资源队列或资源组
  • 828华为云征文|使用Flexus X实例集成ES搜索引擎
  • 【设计模式-访问者模式】
  • 一元运算符(自增自减)
  • gitlab/极狐-离线包下载地址
  • C++——输入三个整数,按照由小到大的顺序输出。用指针方法处理。
  • 【Java8 重要特性】Lambda 表达式
  • word2vec--CBOW与Skip-Gram 两种模型
  • iOS六大设计原则设计模式
  • nacos 集群搭建
  • STM32快速复习(十二)FLASH闪存的读写
  • 漏洞扫描工具使用
  • C++ | Leetcode C++题解之第424题替换后的最长重复字符
  • 利士策分享,动摇时刻的自我救赎
  • 动手学深度学习(李沐)PyTorch 第 1 章 引言
  • 二叉树(二)深度遍历和广度遍历
  • 【算法——双指针】
  • Rocky Linux 9 中添加或删除某个网卡的静态路由的方法
  • 网站建设中常见的网站后台开发语言有哪几种,各自优缺点都是什么?
  • 【程序大侠传】应用内存缓步攀升,告警如影随形
  • JavaWEB概述
  • 半结构化知识抽取案例
  • Oracle Truncate和delete的区别
  • 应用层协议 --- HTTP
  • 网卡Network Interface Card
  • 9.1 Linux_I/O_基本知识