Angular JS + AlaSQL导入

时间:2018-01-24 10:29:07

标签: javascript angularjs excel alasql

我正在开发一个项目,我必须导入Excel数据并为其创建Web视图,我现在的解决方案是在C#上解析它并将JSON结果作为API发送,我刚发现AlaSQL,导入数据使用纯JS工作正常,但我无法弄清楚如何从控制器加载它来替换我当前的$ http.get(..)

简而言之,我需要使用alasql在SharePoint上调用xls文件来替换Http.get,并直接从数组中访问数据。

编辑:我将尝试的另一种方法是从excel文件中返回返回的java对象中的工厂 目前的代码:

$http.get("xxx/file.json")
    .then(function(response) {
        $scope.xdata = response.data;
        $scope.zdata = response.data;
        $scope.collection = response.data;

        $scope.labels = [];
        $scope.data = [];

        $scope.datalength = $scope.zdata.length;

        $scope.loading = True;
    });
}

2 个答案:

答案 0 :(得分:0)

在这里,我提到了基本的控制器样本。请使用它。

app.controller('DataViewCtrl', function($scope, $http){
    //scope variable declaration 

    //local function
    function loadDefaultValues(){
        $scope.loading = true;
        $http.get("xxx/file.json")
        .then(function(response) {
            $scope.xdata = response.data;
            $scope.zdata = response.data;
            $scope.collection = response.data;

            $scope.labels = [];
            $scope.data = [];

            $scope.datalength = $scope.zdata.length;

            $scope.loading = false;
        });
    }

    //scope function

    //call onload functions
    loadDefaultValues();
   }
});

答案 1 :(得分:0)

我设法让它运行:

alasql(['SELECT * FROM FILE("file.xls",{headers:true})']).then(function(data){ 

        console.log(data[0]);
            $scope.xdata = JSON.stringify(data[0]);
            $scope.zdata = JSON.stringify(data[0]);
            $scope.collection = JSON.stringify(data[0]);

            $scope.labels = [];
            $scope.data = [];

            $scope.datalength = $scope.zdata.length;

            $scope.loading = true;
        });
}

然而,用NG-repeat渲染它是令人难以置信的缓慢