html 读取 xlsx,如何使用js-xlsx从HTML输入中读取文件?

我有一个角度应用程序,我试图读取和解析一个.xlsx文件,诉诸js-xlsx JavaScript库。不过,我无法在JavaScript端打开文件。如何使用js-xlsx从HTML输入中读取文件?

在我的html上,我有一个简单的类型文件输入,打开一个文件选择器,用户可以选择一个合适的文件。我无法使用角度指令将文件发送到我的控制器上的函数,因为只有在按下输入按钮时用户才选择文件,ng-change才会更新。我最终不得不通过将'onchange =“angular.element(this).scope()。handleFile(this)'')添加到我的输入中,从而将普通的旧JavaScript与某些角度混合在一起。

附加quotation.html:

...

...

这解决了我不能够从HTML文件发送到事物的JavaScript端的问题。但是,我无法打开文件。我已经从官方文档中尝试了很多例子,但是我没有成功实现它的工作。这是我当前的代码:

附加quotation.component.js:

$scope.handleFile = function(e) {

var files = e.target.files;

var i,f;

for (i = 0, f = files[i]; i != files.length; ++i) {

var reader = new FileReader();

var name = f.name;

reader.onload = function(e) {

var data = e.target.result;

var workbook = XLSX.read(data, {type: 'binary'});

/* DO SOMETHING WITH workbook HERE */

};

reader.readAsBinaryString(f);

}

}

我试图调试,发现该文件确实进入方法,但随后试图访问时发生异常“e.target.files;”

nNfRT.png

gdda9.png

我完全失去了在如何解决这一问题,并且我见过的例子是没有任何帮助。我究竟做错了什么?


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部