2

Ich versuche, die Daten in meiner Winkeldatentabelle in eine Excel-Tabelle zu exportieren. Es ist mir gelungen, das gesamte Json-Objekt in eine Excel-Tabelle zu exportieren.Gefilterte/gesuchte Daten in Excel exportieren, aus einer Winkeldatentabelle

Was ich suchen ist, um die gesuchten/gefilterten Daten nur in Excel exportiert werden, wenn die Suche leer ist, dann exportieren Sie alle Daten.

Für die Referenz lassen Sie mich Ihnen zeigen, wie mein Code

Dieses ist mein Controller

userService.getUserList(function(response) { 
    if (response.status === 200) { 
     vm.users = response.data.userDetails; 
     return; 
    } 
    if (response.status === 400) { 
     return toastr.error(response.data.exception); 
    } 

}); 


vm.exportData = function() { 

    vm.listOfUsers = angular.copy(vm.users); 

    vm.filteredData = _.map(vm.listOfUsers, function(data){ 
     var status = (data.isActive==true)?'Active':'In-Active'; 

     var users = {'Name': data.fullName, 'Email': data.email, 'Designation': data.designation, 'Company Name': data.companyName,'Status':status} 
     return users; 
    }); 

    alasql('SELECT * INTO XLSX("download.xlsx",{headers:true}) FROM ?', [vm.filteredData]); 
} 

Das ist mein HTML

<div class="table-toolbar"> 
    <div class="row"> 
      <div class="col-md-6"> 
       <div class="btn-group"> 
        <button id="sample_editable_1_new" class="btn sbold green" ng-click="vm.exportData()">Export As Excel</button> 
       </div> 
      </div>          
    </div> 
</div> 

<div class="dataTables_wrapper no-footer"> 
    <table class="table table-striped table-bordered table-hover dataTable" datatable="ng" id="sample_1"> 
     <thead> 
      <tr> 
       <th> Sl. No. </th> 
       <th> Name </th> 
       <th> Email </th> 
       <th> Designation </th>                         
       <th> Company Name </th>             
       <th> Status </th> 
      </tr> 
     </thead> 
     <tbody> 
      <tr ng-repeat="user in vm.users"> 
        <td> {{$index+1}} </td> 
        <td> {{user.fullName}} </td> 
       <td> {{user.email}} </td> 
        <td> {{user.designation}} </td>                         
        <td> {{user.companyName}} </td>             
        <td>{{user.isActive === true? "Active" : "In-Active" }} 
        </td> 
       </tr> 
      </tbody> 
    </table> 

Als Datentabellen eingebaute Funktionalität ist der Suche, wenn Benutzer etwas eingeben, beginnt es zu suchen, also wenn Benutzer Suchen Sie und klicken Sie dann auf Export-Schaltfläche, dann möchte ich nur die Daten für die Suchanfrage übergeben, so dass nur diese Daten in Excel exportiert werden.

Antwort

0

ich eine Lösung gefunden,

Anstatt die Daten drucken, gedruckt ich die ganze HTML-Tabelle, also was auch immer suchen oder sortieren. Die gleichen Daten, die im HTML-Code enthalten sind, werden exportiert.

nur ändern, ich userDatatable Klasse der Tabelle in html und verändert die alasql Abfrage wie folgt

alasql('SELECT * INTO XLSX("download.xlsx",{headers:true}) \ 
       FROM HTML(".userDatatable")'); 

Diese feste MY issue.Hope hinzugefügt hilft es jemand

Verwandte Themen