vue将table数据导出为Excel

安装第三方包

npm install xlsx file-saver

Vue

<template>
  <el-button @click="exportToExcel">导出为 Excel</el-button>
  <el-table
    ref="table"
    :data="tableData"
    style="width: 100%">
    <!-- 你的表格列 -->
  </el-table>
</template>
 
<script>
  import { saveAs } from 'file-saver';
  //import * as XLSX from 'xlsx/xlsx.mjs';
  import * as XLSX from 'xlsx';
 
export default {
  data() {
	  return {
		  tableData: [
		  	{
		  		key1: value1,
		  		key2: value2,
		  		key3: value3
		  	},
		  	...
		  	],
		  	...
		  }
   }
   method: {
   		exportToExcel() {
            // const table = this.$refs.table.$el
            // const ws = XLSX.utils.table_to_sheet(table);
            const ws = XLSX.utils.json_to_sheet(this.tableData);
            const wb = XLSX.utils.book_new();
            XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');
            const wbout = XLSX.write(wb, { bookType: 'xlsx', type: 'binary' });
            saveAs(new Blob([this.s2ab(wbout)], { type: 'application/octet-stream' }), 'table.xlsx');
        },
        s2ab(s) {
            const buf = new ArrayBuffer(s.length);
            const view = new Uint8Array(buf);
            for (let i = 0; i !== s.length; ++i) view[i] = s.charCodeAt(i) & 0xFF;
            return buf;
        }
   }
</script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在前端使用Vue导出表格样式为Excel,可以通过以下步骤实现: 1. 首先,你需要安装并引入`xlsx`和`file-saver`这两个库。`xlsx`用于生成Excel文件,`file-saver`用于保存文件。 ```bash npm install xlsx file-saver ``` 2. 在Vue组件中,你可以创建一个方法来处理导出操作。首先,需要将表格数据转换为Excel数据格式。可以使用`xlsx`库的`utils.json_to_sheet()`方法将JSON数据转换为Excel的Sheet对象。 ```javascript import XLSX from 'xlsx'; import { saveAs } from 'file-saver'; export default { methods: { exportToExcel() { // 获取表格数据 const tableData = this.getTableData(); // 创建一个工作簿 const workbook = XLSX.utils.book_new(); // 将表格数据转换为Sheet对象 const sheet = XLSX.utils.json_to_sheet(tableData); // 将Sheet对象添加到工作簿中 XLSX.utils.book_append_sheet(workbook, sheet, 'Sheet1'); // 生成Excel文件的二进制数据 const excelData = XLSX.write(workbook, { bookType: 'xlsx', type: 'array' }); // 将二进制数据保存为Excel文件 const blob = new Blob([excelData], { type: 'application/octet-stream' }); saveAs(blob, 'table.xlsx'); }, getTableData() { // 获取表格数据的方法,根据你的具体实现进行编写 } } } ``` 3. 在Vue模板中,可以添加一个按钮或其他触发导出操作的元素,并绑定`exportToExcel`方法。 ```html <template> <div> <table> <!-- 表格内容 --> </table> <button @click="exportToExcel">导出Excel</button> </div> </template> ``` 这样,当用户点击"导出Excel"按钮时,会触发`exportToExcel`方法,将表格数据导出Excel文件并保存到本地。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值