使用JavaScript拿到excel文件内容

<script setup>

import { ref } from 'vue';

import * as XLSX from 'xlsx';//引用



//组件通信

defineProps({

  msg: String,

});



const file = ref(null);

let a = ref(0);



const handleFileChange = (event) => {

  const b = event.target.files[0];

  a.value = b.name;



  console.log(event.target.files[0]);



  const file = event.target.files[0];//拿到上传的excel文件

  if (file) {

    const reader = new FileReader();

    reader.onload = (e) => {

      const data = new Uint8Array(e.target.result);

      const workbook = XLSX.read(data, { type: 'array' });

      const sheetName = workbook.SheetNames[0];

      const sheet = workbook.Sheets[sheetName];

      const jsonData = XLSX.utils.sheet_to_json(sheet);

      console.log(jsonData);//输出文件内容

    };

    reader.readAsArrayBuffer(file);

  }



  const selectedFile = event.target.files[0];

  file.value = selectedFile;

};

</script>



<template>

  <h1>{{ msg }}</h1>

  <h1>{{ a }}</h1>



  <div class="file-upload">

    <input type="file" @change="handleFileChange" />

    <button @click="uploadFile">Upload</button>

    <p v-if="file">{{ file.name }}</p>

  </div>

</template>



<style scoped>

.read-the-docs {

  color: #888;

}

</style>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值