【问题标题】:How to read a csv file in angularjs如何在angularjs中读取csv文件
【发布时间】:2017-06-06 10:03:17
【问题描述】:

我正在尝试读取 Angular js 中的 csv 文件,我通过了这个问题 How to read csv file content in angular js? 它被用作指令。但我在我的控制器中将它作为表单提交,所以我如何在我的表单中使用.任何人都可以提供帮助。谢谢。

我的代码,

  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 文件与表单有何关系?
  • 从 CSV 文件创建数组有用吗?
  • 嗨兰迪,我正在尝试这样做。
  • 答案也说明了您的要求。 stackoverflow.com/questions/26353676/…

标签: javascript angularjs csv mean


【解决方案1】:

您可以使用以下代码读取 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>

【讨论】:

    猜你喜欢
    • 2014-12-08
    • 2018-05-28
    • 2022-01-06
    • 2018-12-14
    • 2016-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-27
    相关资源
    最近更新 更多