Vue.js 在Vuejs中将excel转换为json
我想将excel文件转换为json,但显示的错误是: 类型错误..无法读取未定义的属性“target” 我尽了我所能,但无法摆脱这个错误。 任何地方都没有相同的文档 下面是我的代码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"
<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
对象,您就可以访问它了。