Vue实现excel文件下载

Vue实现excel文件下载

话不多说,直接上代码
1、安装插件

cnpm install vue-json-excel

2、main.js里面引入

import JsonExcel from 'vue-json-excel'
Vue.component('downloadExcel', JsonExcel)

3、导出按钮

      <!--导出用户信息excel表格-->
      <download-excel
        class = "export-excel-wrapper"
        :data = "json_data"
        :fields = "json_fields"
        name = "用户信息列表.xls">
        <el-button type="primary" size="small">导出EXCEL</el-button>
      </download-excel>

4、data区写想要导出的字段以及导出的数据(数据写死测试,后续可调接口进行传值)

        //导出excel
        json_fields: {
          "姓名": "name",    //常规字段
          "用户名":"username",
          "所属组织":"organization",
          "权限":"auth",
        },
        json_data: [
          //写死,后续可通过接口进行传值
          {
            name:'汤姆',
            username:'admin1',
            organization:'地球村',
            auth:'超级管理员'
          },
          {
            name:'杰米',
            username:'admin2',
            organization:'地球村',
            auth:'超级管理员'
          }
        ],
        json_meta: [
          [
            {
              " key ": " charset ",
              " value ": " utf- 8 "
            }
          ]
        ]

5、点击下载按钮
在这里插入图片描述5、excel下载成功
在这里插入图片描述在这里插入图片描述
*

兄弟萌,赶快试试吧

  • 5
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: Vue 可以通过使用第三方库或者手写代码来实现 Excel 的下载。 一种常用的方法是使用 SheetJS 的 xlsx 库。首先,您需要安装 xlsx: ``` npm install xlsx ``` 然后,您可以在代码中引入该库: ``` import XLSX from 'xlsx' ``` 接着,您可以使用以下代码生成 Excel 文件: ``` /* generate workbook object from data */ const ws = XLSX.utils.aoa_to_sheet(data); const wb = XLSX.utils.book_new(); XLSX.utils.book_append_sheet(wb, ws, "SheetJS"); /* generate file and trigger a download */ XLSX.writeFile(wb, "sheetjs.xlsx"); ``` 其中,`data` 是一个二维数组,包含了 Excel 文件中的数据。 另一种方法是通过手写代码生成 Excel 文件并直接下载。您可以使用 Blob 对象和 URL.createObjectURL() 方法来实现: ``` const data = [ [1, 2, 3], [4, 5, 6] ]; const content = JSON.stringify(data); const blob = new Blob([content], { type: 'application/vnd.ms-excel' }); const objectUrl = URL.createObjectURL(blob); const a = document.createElement('a'); a.setAttribute('style', 'display:none'); a.setAttribute('href', objectUrl); a.setAttribute('download', 'excel.xls'); document.body.appendChild(a); a.click(); document.body.removeChild(a); ``` 在上面的代码中,我们将数据转换成 JSON 字符串,再将其封装成 Blob 对象。然后,我们创建了一个下载链接,并通过触发该链接的 `click` 事件来下载 Excel 文件。 ### 回答2: Vue实现Excel下载可以通过以下几个步骤完成: 1. 安装依赖:使用 npm 或 yarn 安装 'file-saver' 和 'xlsx'。 2. 创建一个按钮或者触发下载的事件,例如点击按钮或者某个条件满足时触发。 3. 在事件触发后,调用导出数据的方法。 ``` exportExcel() { // 创建一个工作簿 var wb = xlsx.utils.book_new(); // 创建一个工作表 var ws = xlsx.utils.json_to_sheet(this.data); // 将工作表添加到工作簿 xlsx.utils.book_append_sheet(wb, ws, 'Sheet1'); // 生成二进制流 var wbout = xlsx.write(wb, { type: 'binary', bookSST: true }); // 将二进制流转换为Blob对象 var blob = new Blob([s2ab(wbout)], { type: 'application/octet-stream' }); // 使用file-saver保存文件 FileSaver.saveAs(blob, 'export.xlsx'); } function s2ab(s) { var buf = new ArrayBuffer(s.length); var view = new Uint8Array(buf); for (var i = 0; i != s.length; ++i) view[i] = s.charCodeAt(i) & 0xff; return buf; } ``` 4. 在模板中将按钮或者触发事件指向该方法。 ``` <template> <button @click="exportExcel">导出Excel</button> </template> ``` 这样,当点击按钮或者满足条件时,会触发导出Excel的方法,生成并下载Excel文件。 ### 回答3: Vue.js 是一种用于构建用户界面的JavaScript框架,它可以轻松地与前端和后端进行交互,因此可以很容易地实现Excel文件的下载。 要在Vue实现Excel文件的下载,我们可以使用js-xlsx库。这个库允许我们在前端生成Excel文件,并将其下载到用户的计算机上。 首先,我们需要在Vue项目中安装js-xlsx库。通过运行以下命令来安装: ``` npm install xlsx ``` 然后,在需要实现Excel下载的组件中,我们可以创建一个函数,该函数将生成Excel文件并将其下载到用户的计算机上。这个函数大致如下所示: ```javascript import XLSX from 'xlsx'; export default { methods: { downloadExcel() { // 创建一个工作簿 const workbook = XLSX.utils.book_new(); // 创建一个工作表 const worksheet = XLSX.utils.json_to_sheet(data); // 将工作表添加到工作簿中 XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1'); // 将工作簿保存为Excel文件 XLSX.writeFile(workbook, 'data.xlsx'); } } } ``` 在上面的代码中,我们首先通过导入 `XLSX` 对象从js-xlsx库中获取必要的功能。然后,在 `downloadExcel` 函数中,我们创建一个工作簿和一个工作表。我们将数据对象转换为工作表,然后将工作表添加到工作簿中。最后,我们使用 `XLSX.writeFile` 函数将工作簿保存为Excel文件,并将其命名为 `data.xlsx`。 为了在Vue模板中触发Excel下载,我们可以添加一个按钮,并绑定 `downloadExcel` 函数到点击事件上,如下所示: ```html <template> <div> <button @click="downloadExcel">下载Excel</button> </div> </template> ``` 当用户点击按钮时,`downloadExcel` 函数将被调用,从而生成并下载Excel文件。 以上就是使用Vue实现Excel下载的简单步骤。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值