2017-09-12 30 views
1

私はxlsxデータを抽出して自分のWebページに表示したいと思います。私はXLシートからのデータの抽出にSheetJS/js-xlsxを使用しました。データは正常にエクストルされていますが、私はこのデータをAngularJSにさらに使用する方法を知りません。コンソールで SheetJS/js-xlsxを使用したExcelデータの抽出と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に含まれるデータを見ることができています。 xldata変数に含まれているこのデータを使用するには、どうやってAngular JSを使ってみましょうか?私はこれを試した。しかし、それは動作しません。誰かが助けてくれますか?

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

<div ng-controller="myCtrl"> 
{{message}} 
</div> 

これは私が取得していますエラーです:

ReferenceError: xldata is not defined

答えて

0

xlDataはJSONオブジェクトを返すされているようです。したがって、あなたはそれがコンソールがあなたを見せるのと同じ方法で見ることを期待することはできません。

xldataを読み込んで表示するには、あなたのHTMLにng-repeatがないのはなぜですか?あなたの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オブジェクトのスニペットを共有している場合、示唆するように容易になるだろう。

関連する問題