背景:使用input file 上传了 csv 文件,怎样在前端显示出里边的内容呢?
解决如下:
test () {
var data = []
var files = this.$refs.fileMatrix.files
var regp = new RegExp(".*,\".*,.*\"$")
if(files.length) {
var file = files[0]
var reader = new FileReader() //new一个FileReader实例
if(typeof FileReader == 'undefined') {
alert("你的浏览器暂不支持该功能")
return
}
reader.readAsText(file)
reader.onload = function(f) {
console.log(this.result);
//显示文件
var relArr = this.result.split("\r\n")
if(!$.isEmptyObject(relArr) && relArr.length > 1) {
for(var key = 1, len = relArr.length; key < len; key++) {
var values = relArr[key]
if(regp.test(values)) {
console.log("文件内容中有英文逗号,麻烦修改后再上传,含有英文逗号的内容是:" + values)
return
}
}
}
}
}
},复制代码
可以通过打印 reader.onload 方法里的 this.result 就可以在前端show csv 里的内容了~
结果如下: