我正在做一个项目,我必须导入Excel数据并为其创建web视图,我现在的解决方案是在C#上解析它并将JSON结果作为API发送,我刚刚发现AlaSQL,用纯JS导入数据很好,但我不知道如何从控制器加载它来替换我当前的$http.get(..)
简而言之,我需要使用alasql将Http.get替换为对SharePoint上的xls文件的调用,并直接从数组访问数据。
编辑:我将尝试的另一种方法是在从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;
});
}发布于 2018-01-24 20:53:42
在这里,我已经提到了基本的控制器示例。请使用它。
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();
}
});发布于 2018-01-25 21:31:14
我设法让它运行起来:
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呈现它的速度非常慢
https://stackoverflow.com/questions/48420193
复制相似问题