Vue实现el-table导出excel功能项目实战

第一步:npm install --save xlsx file-saver

第二步:将文章顶部excel.zip是下载下来放到你的工程里,这是封装好的导出方法。

第三步:实际业务中使用

  1. 勾选导出excel示例

<template>
  <div class="mod-config">
    
    <el-table ref="multipleTable" :data="dataList" border @selection-change="selectionChangeHandle"
        style="width: 100%;">
        <el-table-column type="selection" header-align="left" align="left" width="50">
        </el-table-column>
        
        <el-table-column prop="updateUser" header-align="left" align="left" width="150" label="更新人">
        </el-table-column>

      </el-table>
     
      
  </div>
</template>



<script>

import { exportJsonToExcel } from '../excel/Export2Excel';

export default {
  
  methods: {
    
    // Excel导出
    exportEvent() {
      //有勾选使用勾选数据,没有勾选的导出当前页数据,dataList为列表数据
      var arr = this.dataList;
      if (this.dataListSelections.length > 0) {
        arr = this.dataListSelections;
      }
      //调用导出方法传三个参数:第一个:multipleTable是el-table的ref名,第二个:arr是列表数组数据,第三个:是导出excel的名字
      exportJsonToExcel(this.$refs.multipleTable, arr, 'excel表名字');
    },
  }
}
</script>

     上图为勾选导出方法,dataListSelections是选中的数组

 2. 全部导出excel示例

<template>
  <div class="mod-config">
    
    <el-table ref="multipleTable" :data="dataList" border @selection-change="selectionChangeHandle"
        style="width: 100%;">
        <el-table-column type="selection" header-align="left" align="left" width="50">
        </el-table-column>
        
        <el-table-column prop="updateUser" header-align="left" align="left" width="150" label="更新人">
        </el-table-column>

      </el-table>
     
      
  </div>
</template>



<script>

import { exportJsonToExcel } from '../excel/Export2Excel';

export default {
  
  methods: {
    
    // Excel导出
    exportEvent() {
      //调用导出方法传三个参数:第一个:multipleTable是el-table的ref名,第二个:arr是列表数组数据,第三个:是导出excel的名字
      exportJsonToExcel(this.$refs.multipleTable, this.dataList, 'excel表名字');
    },
  }
}
</script>

总结:利用三方库xlsx和file-saver的组合,实现从el-table中自动获取表头和prop,再将列表数据拼在一起形成excel,保存到本地。

下载不到excel.zip的可以私信我发你

总结不易,点赞支持,感谢互动!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要将Vue 3中的el-table导出Excel,你可以使用以下步骤: 1. 首先,你需要安装`xlsx`和`file-saver`包。在终端中运行以下命令: ``` npm install xlsx file-saver ``` 2. 在你的Vue组件中,导入所需的库: ```javascript import XLSX from 'xlsx'; import { saveAs } from 'file-saver'; ``` 3. 创建一个方法来导出表格数据为Excel文件: ```javascript exportData() { // 获取表格数据 const tableData = this.$refs.table.data; // 创建一个工作簿 const workbook = XLSX.utils.book_new(); // 创建一个工作表 const worksheet = XLSX.utils.json_to_sheet(tableData); // 将工作表添加到工作簿中 XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1'); // 将工作簿转换为Excel文件的二进制数据 const excelData = XLSX.write(workbook, { bookType: 'xlsx', type: 'array' }); // 创建一个Blob对象,并保存为Excel文件 const blob = new Blob([excelData], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' }); saveAs(blob, 'table_data.xlsx'); } ``` 4. 在el-table组件上添加一个导出按钮,并调用`exportData`方法: ```html <el-table ref="table"> <!-- 表格内容 --> </el-table> <el-button @click="exportData">导出Excel</el-button> ``` 以上代码将会将el-table中的数据导出为名为`table_data.xlsx`的Excel文件。请确保在`<el-table>`标签上设置了ref属性,以便在`exportData`方法中引用表格数据。 这是使用Vue 3和Element Plus的示例,如果你在项目中使用了其他UI库或版本,请相应地调整代码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值