使用Angular Material Table Exporter导出分页垫桌

时间:2019-08-15 11:13:51

标签: angular angular-material

我想使用MatTable Exporter将Mat-table导出为ex​​cel,但出现错误:

  

无法绑定到“ cdkTable”,因为它不是“ mat-table”的已知属性。

component.html

<button mat-raised-button color="primary" #exportButton>export</button>

<mat-table mat-table [dataSource]="dataSource" #mytable [cdkTable]="mytable" class="mat-elevation-z8" [hidden]="!dataSource" ngxMatTableExporter [exporterButton]="exportButton" sheetName="ss" fileName="ff">
    <ng-container matColumnDef="OrderId">
        <th mat-header-cell *matHeaderCellDef>Order Id</th>
        <td mat-cell *matCellDef="let element">{{element.OrderId}}</td>
    </ng-container>
</mat-table>

在module.ts

import { CdkTableModule } from '@angular/cdk/table';
import { MatTableModule,MatButtonModule} from '@angular/material';

@NgModule({
  declarations: [OrderComponent],
  imports: [
    CdkTableModule,
    MatButtonModule,
    MatTableModule,
  ] 
})

2 个答案:

答案 0 :(得分:1)

虽然这是一篇旧帖子,但如果您使用的是较旧版本的 Angular 而不是较新版本,这可能会有所帮助。

根据您使用的 Angular 版本,如果您有 8 或更高版本:

npm install --save mat-table-exporter@1.2.5

否则,请使用以下内容:

npm install --save mat-table-exporter

安装后,将导入添加到您需要的模块中:

import { MatTableExporterModule } from 'mat-table-exporter';

@NgModule({
  imports: [
    ..,
    MatTableExporterModule
  ]
})
export class NameModule { }

答案 1 :(得分:0)

您需要导入MatTableExporterModule。 检出此堆叠闪电:https://stackblitz.com/edit/mte-demo

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    MatTableModule,
    MatButtonModule,
    BrowserAnimationsModule,
    MatPaginatorModule,
    MatTableExporterModule,
    MatSelectModule,
    MatFormFieldModule
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }