vue使用xlsx导入到表格中代码

以下是使用xlsx导入表格的代码示例:

  1. 安装依赖包

    npm install xlsx -S

  2. 引入xlsx和vue-xlsx

js 复制代码
import * as XLSX from "xlsx";
import VueXlsx from "vue-xlsx";
  1. 在Vue组件中使用VueXlsx
vue 复制代码
<template>
  <div>
    <input type="file" @change="uploadFile">
    <table>
      <tr v-for="(row, index) in rows" :key="index">
        <td v-for="(cell, idx) in row" :key="idx">{{ cell }}</td>
      </tr>
    </table>
  </div>
</template>
<script>
import * as XLSX from "xlsx";
import VueXlsx from "vue-xlsx";

export default {
  components: {
    VueXlsx,
  },
  data() {
    return {
      rows: [],
      columns: [],
    };
  },
  methods: {
    uploadFile(event) {
      const input = event.target;
      const reader = new FileReader();
      reader.onload = async () => {
        const data = reader.result;
        const workbook = XLSX.read(data, { type: "binary" });
        const sheetName = workbook.SheetNames[0];
        const worksheet = workbook.Sheets[sheetName];
        const json = XLSX.utils.sheet_to_json(worksheet, { header: 1 });
        this.rows = json;
      };
      reader.readAsBinaryString(input.files[0]);
    },
  },
};
</script>

这个示例代码实现了一个简单的表格,用户可以通过选择Excel文件上传,然后表格会自动填充。具体实现是先通过FileReader将上传的文件读取为二进制数据,然后使用xlsx将它解析成JSON数据,最后将JSON数据填充到表格中。

相关推荐
ClouGence3 分钟前
Web 自动化测试总是超时?聊聊等待、超时和异步加载
前端·测试
RobinDevNotes1 小时前
从 Electron 到 GPUI,9 个跨平台桌面方案该怎么选
前端·javascript·rust·electron·openresty·前端开发工具
软件技术NINI1 小时前
基于SpringBoot和Vue的新能源汽车销售推荐系统
java·vue.js·spring boot·后端·汽车·毕业设计·毕设
程序员大阳2 小时前
HTML+CSS+JS对话式实战(6)-学生端查看活动功能开发
javascript·css·html·模块·查看学生
jay神2 小时前
基于 YOLOv8 的轴承缺陷检测(Web 版)
前端·人工智能·yolo
jay神2 小时前
基于 YOLOv8 的森林火灾检测系统(Web 版)
前端·yolo
code2cat2 小时前
HTML基础篇之第一张网页:从index.html到浏览器里的任务清单
前端·html
miss3 小时前
AI 改完不敢上线?OpenSpec 规约驱动开发实战
前端·代码规范·前端工程化
招风的黑耳3 小时前
SpringBoot+Vue+MySQL 民宿在线预定平台 完整可运行版(源码+文档)
vue.js·spring boot·mysql
AiMan4 小时前
腾讯ima还是不可以导出左侧所有对话,只能单条导出,方法不对吗
前端