使用SheetJS / js-xlsx进行Excel数据提取及其在AngularJS中的使用

我想提取xlsx数据并显示在我的网页上。 我已经使用SheetJS / js-xlsx从XL表格中提取数据。 数据被成功提取,但我不知道如何获得这些数据到AngularJS进一步的使用。

/* set up XMLHttpRequest */ var url = "test.xlsx"; var oReq = new XMLHttpRequest(); oReq.open("GET", url, true); oReq.responseType = "arraybuffer"; oReq.onload = function(e) { var arraybuffer = oReq.response; /* convert data to binary string */ var data = new Uint8Array(arraybuffer); var arr = new Array(); for (var i = 0; i != data.length; ++i) arr[i] = String.fromCharCode(data[i]); var bstr = arr.join(""); /* Call XLSX */ var workbook = XLSX.read(bstr, { type: "binary" }); /* DO SOMETHING WITH workbook HERE */ var first_sheet_name = workbook.SheetNames[0]; /* Get worksheet */ var worksheet = workbook.Sheets[first_sheet_name]; var xldata = XLSX.utils.sheet_to_json(worksheet, { raw: true }) console.log(xldata); } oReq.send(); 

在控制台中,我可以看到test.xlsx excel表单中包含的数据。 要使用xldatavariables中包含的这些数据,我如何在Angular JS中进行操作? 我试过这个。 但它不起作用。 有人可以帮忙吗?

  var app=angular.module("my-app",[]); app.controller("myCtrl",function($scope){ $scope.message=xldata; }); <div ng-controller="myCtrl"> {{message}} </div> 

这是我得到的错误:

ReferenceError:xldata没有定义

看来xlData正在返回一个JSON对象。 因此,你不能期望看到控制台能够显示你的相同方式。

你为什么不在你的html中有ng-repeat来读取和显示xldata?

在你的HTML,做到这一点

 <Table> <Thead> <Tr> <Th ng-repeat="(key,val) in message[0]">{{key}}</th> </tr> </thead> <Tbody> <Tr ng-repeat="(key,val) in message"> <Td>{{val}}</td> </tr> </tbody> </Table> 

当然,如果你分享了一个你的xldata JSON对象的代码片段,build议会更容易。