Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Error There is no directive with "exportAs" set to "matTableExporter" when using MatTableExporter

From the docs example I'm trying to use the mat table exporter, this way:

<ng-container>
    <mat-card class="mat-card py-0">
        <mat-card-header class="label">
          <ng-container>
            <mat-card-title>{{titoloTabella}}</mat-card-title> 
            <button mat-button class="align-right" (click)="changeClass()">
              <mat-icon [ngClass]="(rotate)?'rotate':'no-rotate'">keyboard_arrow_down</mat-icon>
              </button>
          </ng-container>
          </mat-card-header>
  <table mat-table  matSort [dataSource]="dataSource" matTableExporter #exporter="matTableExporter">
    <ng-container *ngFor="let header of tableConfiguration.tableHeaders; let i = index" matColumnDef="{{ header.headerId }}"> 
      <th mat-header-cell mat-sort-header *matHeaderCellDef>{{ header.headerName }}</th> 

      <td mat-cell *matCellDef="let row" > {{ row[header.headerId] }} </td> 

      <ng-container *ngIf="i == 0 && header.isJoinable == 'no'">
          <td mat-footer-cell *matFooterCellDef>TOTALE</td>
      </ng-container>
      <ng-container *ngIf="i > 0">    
          <td mat-footer-cell *matFooterCellDef>{{ tableFooter[header.headerId] }}</td>
    </ng-container>
    </ng-container>
    <tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
    <tr mat-row *matRowDef="let row; columns: displayedColumns;" [ngClass]="(collapsed)? 'collapsed-rows': 'no-collapsed-rows' "></tr>
    <tr mat-footer-row *matFooterRowDef="displayedColumns"></tr>
  </table>
</mat-card>
<button (click)="exporter.exportTable('xlsx')"> EXPORT</button>
</ng-container>

I've imported the MatExporterTabModule in my app.module.ts, in providers section. But this is the error I'm getting when I run the application:

RROR Error: Uncaught (in promise): Error: Template parse errors: There is no directive with "exportAs" set to "matTableExporter" ("

like image 721
Usr Avatar asked Sep 18 '25 06:09

Usr


1 Answers

You have to import this module in "imports" section instead of providers.

like image 177
akpgp Avatar answered Sep 20 '25 21:09

akpgp