2016-04-21 142 views
0

好的,因此keyResource从我的C#控制器中提取数据作为逗号分隔值列表。当按钮被点击时,控制台会记录这些数据,但是当我将alasql查询设置为keyResource或数据时,它表示数据源0未定义。Alasql如何将数据导出到csv

angular.module("umbraco") 
.controller("ExportAllController", function($scope, $http, keyResource){ 
    $scope.exportAll = function ($scope) { 
     keyResource.exportAll().then(function (data) { 
      console.log(data); 
      alasql('SELECT * INTO CSV("AllDictionaryItems.csv",{headers:true}) FROM ?', []); 
     }); 
    }; 
}); 

这是我目前有^

这些是我曾尝试:

angular.module("umbraco") 
    .controller("ExportAllController", function($scope, $http, keyResource){ 
     $scope.exportAll = function ($scope) { 
      keyResource.exportAll().then(function (data) { 
       console.log(data); 
       alasql('SELECT * INTO CSV("AllDictionaryItems.csv",{headers:true}) FROM ?', [$scope.exportAll]); 
      }); 
     }; 
    }); 

angular.module("umbraco") 
.controller("ExportAllController", function($scope, $http, keyResource){ 
    $scope.exportAll = function ($scope) { 
     keyResource.exportAll().then(function (data) { 
      console.log(data); 
      alasql('SELECT * INTO CSV("AllDictionaryItems.csv",{headers:true}) FROM ?', [keyResource]); 
     }); 
    }; 
}); 

angular.module("umbraco") 
    .controller("ExportAllController", function($scope, $http, keyResource){ 
     $scope.exportAll = function ($scope) { 
      keyResource.exportAll().then(function (data) { 
       console.log(data); 
       alasql('SELECT * INTO CSV("AllDictionaryItems.csv",{headers:true}) FROM ?', [data]); 
      }); 
     }; 
    }); 

我不知道如何做到这一点,因为在中控台记录数据,我不知道为什么当我导出到CSV时它不工作?

+0

什么数据结构是你的'data'?即它在登录到控制台时看起来像什么 –

+0

它是控制台 –

回答

1

您当前的方法不起作用,因为您没有传递任何数据以便导出。

究其原因,我认为,你的最后一次尝试没有成功,因为你的data结构是错误的

看一看下面的jsfiddle创建,它展示了如何从字符串或JSON对象的数组的数组创建CSV 。

http://jsfiddle.net/alantsai/h2wbbkm6/

看到,如果你尝试构建您的data到结构的一个,你应该能够导出CSV文件

+0

中的字符串,请参阅以下问题:我已更新我的问题,现在我已将数据作为数组并且正在下载CSV,但数据在CSV是错误的:http://stackoverflow.com/questions/36790200/alasql-csv-pulling-through-functions –

+0

在去你的新问题之前,我目前的答案是否回答这个问题? –

+0

从技术上讲,它的确如此,但是我的数据是从C#控制器中取出的,所以它会自动作为字符串传递,然后转换为表单数据,但现在我只是将其转换为字符串数组,然后将其存储在CSV中 –