1

HTML テーブルを Excel シートにエクスポートしようとしていて、alasql を使用しています。

$scope.Excelexport =function(){
  alasql('SELECT * INTO XLSX("example.xlsx",{headers:true}) FROM ?',[$scope.college.data]);
}

私のデータは次のように見えるため、これはうまくいきません。

$scope.college.data =  [
  {{[{faculty: 20k, Student:5k}], name:MIT}}, 
  {{[{faculty: 20k, Student:5k}], name:Stevens}}, 
  {{[{faculty: 20k, Student:5k}], name:RIT}}, 
  {{[{faculty: 20k, Student:5k}], name:IIT}},
]

エクスポートを使用する[object,object]と、結果として得られます。その理由は、私の配列がオブジェクトのオブジェクトであるためです。some[]名前を見出しとしてExcelに表示するにはどうすればよいですか?

Excelで、データを次のようにしたい

    Faculty   |   Student
    ----------------------
    MIT
    ----------------------
    20k        | 500k
4

2 に答える 2

1

データがコメントセッションで提供したリンクであると仮定します。[object object]次の関数は、 をオブジェクトの配列に変換して実行します。これにより、CSV ファイルとしてエクスポートできます。

//initialize an empty array ready for export as csv
$scope.exportCsvFile = [];

//$scope.data is the valid json data you provided on the comment session
//you just assign the json data to $scope.data
angular.forEach($scope.data, function(collegeData){
  var labbox = collegeData.data.labbox;
  angular.forEach(collegeData.data.timeseriesdata, function(singleData){
    var temp = {
      name: labbox
    };
    angular.forEach(singleData, function(value, key){
        temp[key] = value;
    });
    $scope.exportCsvFile.push(temp);
  });
});

関数の後、$scope.exportCsvFile配列は次のようになります。

[
 {name: 'Stevens', faculty: 1, student, 949, from: "17:30", to: "17:42"},
 {name: 'Stevens', faculty: 0.99, student, 949, from: "17:42", to: "17:54"},
 {name: 'Stevens', faculty: 0.97, student, 1380, from: "17:54", to: "17:42"},
 {...}
]

この後、ファイルをエクスポートできます。

$scope.Excelexport = function() {
 alasql('SELECT * INTO XLSX("example.xlsx",{headers:true}) FROM ?',[$scope.exportCsvFile]);
}

Csv ファイルは次のようになります。

    Name   |   Faculty   |   Student   |   From    |    To
    ---------------------------------------------------------
    Stevens|      1      |     949     |   17:30   |   17:42
    ---------------------------------------------------------
    Stevens|    0.99     |     1090    |   17:42   |   17:54
    ---------------------------------------------------------

それでも問題が解決しない場合は、ng-Csvと呼ばれる AngularJS ディレクティブを調べることができます。フォントエンド側でデータをcsvファイルとしてエクスポートします。それが役に立てば幸い!!

于 2015-12-09T19:11:12.593 に答える