[英]How to read a csv file in angularjs
我正在嘗試在angular js中讀取csv文件,而我遇到了這個問題如何在angular js中讀取csv文件內容? 在哪里用作指令。但是我正在將其作為表單提交到我的控件中,所以我該如何在表單中使用它。任何人都可以提出幫助。謝謝。
我的代碼
if($scope.partner.csv){
var files = $scope.partner.csv.target.files
var r = new FileReader();
r.onload = function(e) {
var contents = e.target.result;
$scope.$apply(function () {
$scope.fileReader = contents;
});
};
}
}
這是我嘗試過的,如果我上傳了csv文件,則提交表單時,應該執行上述操作。
您可以使用以下代碼讀取csv文件。
<!DOCTYPE html>
<html ng-app="" ng-controller="myCtrl">
<style>
table, th, td {
border: 1px solid black;
padding:5px;
}
table {
border-collapse: collapse;
margin:10px;
}
</style>
<body>
<button ng-click="readCSV()">
Display CSV as Data Table
</button>
<div id="divID">
<table>
<tr ng-repeat="x in data">
<td ng-repeat="y in x">{{ y }}</td>
</tr>
</table>
</div>
<div>
<table>
</table>
</div>
<script>
function myCtrl($scope, $http) {
$scope.readCSV = function() {
// http get request to read CSV file content
$http.get('/angular/sample.csv').success($scope.processData);
};
$scope.processData = function(allText) {
// split content based on new line
var allTextLines = allText.split(/\r\n|\n/);
var headers = allTextLines[0].split(',');
var lines = [];
for ( var i = 0; i < allTextLines.length; i++) {
// split content based on comma
var data = allTextLines[i].split(',');
if (data.length == headers.length) {
var tarr = [];
for ( var j = 0; j < headers.length; j++) {
tarr.push(data[j]);
}
lines.push(tarr);
}
}
$scope.data = lines;
};
}
</script>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular.min.js"></script>
</body>
</html>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.