[前端笔记] Vue页面table导出Excel

本次导出针对于页面table导出!

1、安装三个依赖包

npm install -S file-saver
npm install -S xlsx
npm install -D script-loader

2、在项目中创建一个文件夹(比如utils,一般是在src目录下创建)

Blob.js Export2Excel.js这两个文件夹放到新建的文件夹内

文件已经打包好...

送你传送门

Exprot2Excle.js

 中我加了这么一段代码,原因是Exprot2Excle.js中由于这几个文件不支持import引入,所以我们需要`script-loader`来将他们挂载到全局环境下

require('script-loader!file-saver'); //保存文件用
 require('script-loader!utils/Blob'); //转二进制用(此处需映射到自己下载的blob.js文件)
 require('script-loader!xlsx/dist/xlsx.core.min'); //xlsx核心

3、在页面中使用

 

html

<button type="button" class="btn btn-primary" @click="export2Excel">导出excel</button>

 js

export2Excel () {
    require.ensure([], () => {
      const { export_json_to_excel } = require('../utils/Export2Excel')
      const tHeader = ['日期', '猪只代码', '胎次', '淘汰类型', '淘汰原因', '淘汰状态', '品种', '入场时间', '所在农场', '舍']
      const filterVal = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K']
      const list = this.datas
      const data = this.formatJson(filterVal, list)
      export_json_to_excel(tHeader, data, '列表excel')
    })
},
formatJson (filterVal, jsonData) {
    return jsonData.map(v => filterVal.map(j => v[j]))
}

ps:此处的list对应的 this.datas.就是我们从后台查询返回回来的数据..filterVal是我们每一列映射的值.tHeader是表头..此处需要注意的是Excport2Excel文件的路径问题.

 

送你传送门

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
前端使用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文件并保存到本地。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值