Javascript 在vue中上载和处理excel文件

Javascript 在vue中上载和处理excel文件,javascript,excel,vue.js,xlsx,Javascript,Excel,Vue.js,Xlsx,我正在尝试上载一个xlsxexcel文件,并在我的Vue应用程序中处理它。但它失败了,抛出了一个错误。这让我觉得我没有正确使用或导入库,因为在节点中,项目可以正常工作 我正在使用xlsx库 代码 模板 剧本 从“XLSX”导入XLSX 导出默认值{ 名称:“应用程序”, 方法:{ onChange(事件){ this.file=event.target.files?event.target.files[0]:空; 让工作簿=XLSX.readFile(this.file); console.

我正在尝试上载一个xlsxexcel文件,并在我的Vue应用程序中处理它。但它失败了,抛出了一个错误。这让我觉得我没有正确使用或导入库,因为在节点中,项目可以正常工作

我正在使用xlsx

代码 模板


剧本

从“XLSX”导入XLSX
导出默认值{
名称:“应用程序”,
方法:{
onChange(事件){
this.file=event.target.files?event.target.files[0]:空;
让工作簿=XLSX.readFile(this.file);
console.log('workbook1');
控制台日志(工作簿);
console.log('SheetNames');
console.log(工作簿.SheetNames);
},
}
};
在这一点上,即使是指向一个正确的图书馆,如果有一个将非常感激。提前谢谢

这是我的问题代码沙盒:


仅限节点!尝试读取文件名并解析!
您只能使用另一个vuejs库

节点!尝试读取文件名并解析!
您可以使用另一个vuejs库

首先需要设置一个,并将文件作为二进制字符串读取,以便将其传递给XLSX

导出默认值{
方法:{
onChange(事件){
this.file=event.target.files?event.target.files[0]:空;
if(this.file){
const reader=new FileReader();
reader.onload=(e)=>{
/*解析数据*/
常数bstr=e.target.result;
常量wb=XLSX.read(bstr,{type:'binary'});
/*获取第一张工作表*/
const wsname=wb.SheetNames[0];
常量ws=wb.Sheets[wsname];
/*转换数组的数组*/
const data=XLSX.utils.sheet_to_json(ws,{header:1});
}
reader.readAsBinaryString(this.file);
}
},
}
};

您首先需要设置并将文件作为二进制字符串读取,以便将其传递给XLSX

导出默认值{
方法:{
onChange(事件){
this.file=event.target.files?event.target.files[0]:空;
if(this.file){
const reader=new FileReader();
reader.onload=(e)=>{
/*解析数据*/
常数bstr=e.target.result;
常量wb=XLSX.read(bstr,{type:'binary'});
/*获取第一张工作表*/
const wsname=wb.SheetNames[0];
常量ws=wb.Sheets[wsname];
/*转换数组的数组*/
const data=XLSX.utils.sheet_to_json(ws,{header:1});
}
reader.readAsBinaryString(this.file);
}
},
}
};

我是通过
读取excel文件
npm包完成的。 这是我的密码

<template>
...
<input type="file" @change="onFileChange" />
...
</template>
import readXlsxFile from 'read-excel-file'
export default {
...
methods: {
  onFileChange(event) {
    let xlsxfile = event.target.files ? event.target.files[0] : null;
    readXlsxFile(xlsxfile).then((rows) => {
      console.log("rows:", rows)
    })
  }
}

...
...
从“读取excel文件”导入ReadXLSX文件
导出默认值{
...
方法:{
onFileChange(事件){
设xlsxfile=event.target.files?event.target.files[0]:null;
readXlsxFile(xlsxfile)。然后((行)=>{
log(“行:”,行)
})
}
}

我是通过
读取excel文件
npm包完成的。 这是我的密码

<template>
...
<input type="file" @change="onFileChange" />
...
</template>
import readXlsxFile from 'read-excel-file'
export default {
...
methods: {
  onFileChange(event) {
    let xlsxfile = event.target.files ? event.target.files[0] : null;
    readXlsxFile(xlsxfile).then((rows) => {
      console.log("rows:", rows)
    })
  }
}

...
...
从“读取excel文件”导入ReadXLSX文件
导出默认值{
...
方法:{
onFileChange(事件){
设xlsxfile=event.target.files?event.target.files[0]:null;
readXlsxFile(xlsxfile)。然后((行)=>{
log(“行:”,行)
})
}
}
不是真的不是真的