avatar

不觉南风

不觉南风的个人博客

  • 首页
  • 文章
  • 标签
  • 项目&效果展示
  • 关于
Home 前端将表格导出为excel
文章

前端将表格导出为excel

Posted 2024-01-26 Updated 2024-02- 1
By 不觉南风
7~9 min read

利用插件将table导出为excel

  1. 下载对应插件 xlsx、file-saver

    npm install --save xlsx file-saver
    

    注:下载的时候如果下载不动,可更换npm的镜像源

    官方镜像:https://registry.npmjs.org/

    淘宝镜像:https://registry.npm.taobao.org/

    cnpm镜像:https://r.cnpmjs.org/

    阿里云镜像:https://npm.aliyun.com/

    中国科技大学镜像:https://mirrors.ustc.edu.cn/npm/

    华为云镜像:https://mirrors.huaweicloud.com/repository/npm/

    七牛云镜像:https://npm.qiniu.com/

    // 设置镜像
    npm config set registry https://r.cnpmjs.org/
    // 查看当前镜像地址
    npm config get registry
    
  2. 代码

    // 给需要导入的表格增加一个id,或者绑定ref;目的是用来获取dom元素
    <t-table
     	id="table_excel"
        ref="table"
        :data="tableData"
        :columns="columns">
    </t-table>
    
    // 引入相关插件
    import FileSaver from 'file-saver';
    import XLSX from 'xlsx';
    
    // 导出方法
    exportExcel() {
    	// 导出的内容只做解析,不进行格式转换
    	const xlsxParam = { raw: true }; 
    	// 获取到需要导出表格的dom元素
        const tables = document.getElementById('table_excel'); 
        const table_book = XLSX.utils.table_to_book(tables, xlsxParam);
        const table_write = XLSX.write(table_book, {
            bookType: 'xlsx',
            bookSST: true,
            type: 'array',
        });
        try {
            FileSaver.saveAs(
              new Blob([table_write], { type: 'application/octet-stream' }),
              `表格名称.xlsx`, // 这里是文件名
            );
        } catch (e) {
            if (typeof console !== 'undefined') console.log(e, table_write);
        }
        return table_write;
    }
    
编程随记
常用插件
License:  CC BY 4.0
Share

Further Reading

Mar 21, 2024

vue项目中利用scss进行全局字体放大

新公司需要上架浙里办政府服务网的PC端,在审核的时候被老龄化适配打回来了。需要做全局的字体放大,在网上查了一些博客,最后结合自

Mar 9, 2024

AMD规范

什么是AMD规范 AMD(Asynchronous Module Definition),也就是异步模块定义。AMD规范,制定了定义模块的规则,使得模块之间的依赖可以被异步加载。这和浏览器的异步加载模块的环境刚好适应(浏览器同步加载模块会导致性能、可用性、调试和跨域访问等问题)。 所谓异步,就是所有

Mar 9, 2024

http缓存机制

缓存的基本原理 在一个C/S结构中,最基本的缓存分为两种: 客户端缓存 服务器缓存 本文仅讨论客户端缓存

OLDER

MongoDB数据库的简单使用

NEWER

keep-alive

Recently Updated

  • vue项目中利用scss进行全局字体放大
  • AMD规范
  • http缓存机制
  • git提交报错 husky - commit-msg hook exited with code 1 (error)
  • for...in 和 for...of有什么区别?

Trending Tags

电脑常见问题 nodejs vuejs webpack 网络 问题记录 javaScript基础 小程序 常用插件 数据库

Contents

©2025 不觉南风. Some rights reserved.

Using the Halo theme Chirpy