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

vue2使用xlsx依赖导出excel并封装组件

1. 安装

npm install xlsx file-saver --save

2. 简单封装

import * as XLSX from 'xlsx';
import { saveAs } from 'file-saver';

export function exportExcel(data, fileName) {
  return new Promise((resolve, reject) => {
    if (!data || !data.length) {
      return reject(new Error('No data to export'));
    }

    try {
      const worksheet = XLSX.utils.json_to_sheet(data);
      const workbook = XLSX.utils.book_new();

      XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1');

      const excelBuffer = XLSX.write(workbook, { bookType: 'xlsx', type: 'array' });

      const blob = new Blob(
      	[excelBuffer], 
      	{ type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' }
     );

      saveAs(blob, `${fileName || '数据表'}.xlsx`);

      resolve();
    } catch (error) {
      reject(error);
    }
  });
}

3. 调用

使用时传入已处理好的数据,这是一个数组,数据每个值是个对象,对象的属性会用在第一行作为名称,然后按顺序每一行是具体的值。
在这里插入图片描述
比如

[
	{ name: '大猫', age: 3 },
	{ name: '小猫', age: 1 },
]

4. 解说

直接去npm上看下xlsx使用方法。

求关注
在这里插入图片描述

相关文章:

  • 【excel】easy excel如何导出动态列
  • 【CSS 选择器的特异度 CSS 继承 CSS 求值过程解析 CSS 布局方式及相关技术】
  • 环境安装与配置:全面了解 Go 语言的安装与设置
  • 海洋 CMS V9SQL注入漏洞
  • 编写一个程序,输出 “Hello, World!“(Python版)
  • Python代码片段-Excel导入到MongoDB
  • 数据结构(陈越,何钦铭) 第四讲 树(中)
  • 进程状态(R|S|D|t|T|X|Z)、僵尸进程及孤儿进程
  • 测量海拔以及两点间路程(十六)
  • 利用deepseek参与软件测试 基本架构如何 又该在什么环节接入deepseek
  • HWUI 和 Skia
  • python-leetcode-每日温度
  • 精选案例展 | 智己汽车—全栈可观测驱动智能化运营与成本优化
  • BUU41 [GYCTF2020]FlaskApp1【SSTI】
  • mac下载MAMP6.8.1
  • Java数据结构第十四期:走进二叉树的奇妙世界(三)
  • QILSTE H6-C111LB高亮蓝光LED灯珠 发光二极管LED
  • Feign 类型转换问题解析:如何正确处理 `ResponseEntity<byte[]>` 返回值
  • keil中出现Error_Handler错误的解决方法
  • 【学习笔记】计算机网络(四)
  • 网站开发 混合式 数据库/推广策划方案范文
  • 在线购物商城平台/我是seo关键词
  • 手机网站怎么开发/网络推广方法有哪些
  • 制作营销型网站公司/青岛seo外包公司
  • 5000元做网站值么/百度小说
  • 电子商务网站建设需要哪种语言/厦门百度关键词优化