Vue.js 在Vuejs中将excel转换为json

Vue.js 在Vuejs中将excel转换为json,vue.js,vuejs2,vue-component,vue-resource,vuex-modules,Vue.js,Vuejs2,Vue Component,Vue Resource,Vuex Modules,我想将excel文件转换为json,但显示的错误是: 类型错误..无法读取未定义的属性“target” 我尽了我所能,但无法摆脱这个错误。 任何地方都没有相同的文档 下面是我的代码 <template> <div> <div class="conatiner mt-5"> <div class="row"> <div class="col-md-3"

我想将excel文件转换为json,但显示的错误是: 类型错误..无法读取未定义的属性“target”

我尽了我所能,但无法摆脱这个错误。 任何地方都没有相同的文档

下面是我的代码

<template>
    <div>
    <div class="conatiner mt-5">
    <div class="row"> 
    <div class="col-md-3"></div> 
    <div class="col-md-3">
    <input class="form-control" type="file" id="input" accept=".xls, .xlsx" /> 
    </div> 
    <div class="col-md-2"> 
    <button class="btn btn-primary" id="button" v-on:click="previewFiles()">Convert</button> 
    </div> 
    <div class="col-md-12"> 
    <pre id="jsondata"></pre> 
    </div> 
    </div> 
    </div> 
    </div> 
    </template>

 <script> 
 export default {
 data() {
 return {}; 
}, 
function() { 
 oFileIn = document.getElementById('my_file_input');
if(oFileIn.addEventListener(){ oFileIn.addEventListener('change',   filePicked, false);

 } },
methods:{ 
previewFiles(e){
// Get The File From The Input var oFile = e.target.files[0];
var sFilename = oFile.name; 
// Create A File Reader HTML5 
var reader = new FileReader();
// Ready The Event For When A File Gets Selected 
reader.onload = function(e) { var data = e.target.result; 
var cfb = XLS.CFB.read(data, {type: 'binary'});
 var wb = XLS.parse_xlscfb(cfb);
 // Loop Over Each Sheet                 wb.SheetNames.forEach(
function(sheetName)
 { 
// Obtain The Current Row As CSV
 var sCSV =     XLS.utils.make_csv(wb.Sheets[sheetName]); 
var oJS = XLS.utils.sheet_to_row_object_array(wb.Sheets[sheetName]); 
$("#my_file_output").html(sCSV);    console.log(oJS) }); };     reader.readAsBinaryString(oFile) }, 
// Tell JS To Start Reading The File.. You could delay this if desired 
}, 
}; 
</script>

转换
导出默认值{
数据(){
返回{};
}, 
函数(){
oFileIn=document.getElementById('my_file_input');
if(oFileIn.addEventListener(){oFileIn.addEventListener('change',filePicked,false);
} },
方法:{
预览文件(e){
//从输入变量oFile=e.target.files[0]获取文件;
var sFilename=oFile.name;
//创建文件读取器HTML5
var reader=new FileReader();
//为选定文件时的事件做好准备
reader.onload=function(e){var data=e.target.result;
var cfb=XLS.cfb.read(数据,{type:'binary'});
var wb=XLS.parsexlscfb(cfb);
//在每张图纸上循环wb.SheetNames.forEach(
功能(名称)
{ 
//以CSV格式获取当前行
var sCSV=XLS.utils.make_csv(wb.Sheets[sheetName]);
var oJS=XLS.utils.sheet_到_行_对象_数组(wb.Sheets[sheetName]);
$(“#我的文件#输出”).html(sCSV);console.log(oJS)};};reader.readAsBinaryString(oFile)},
//告诉JS开始读取文件..如果需要,可以延迟
}, 
}; 
请帮我解决这个问题。。
提前感谢!!

错误说明了一切。您的
e
未定义,并且属性
target
不存在。请在控制台中查看原因,一旦暴露了
e
对象,您就可以访问它了。