Ana içeriğe geç

Excel

Excel sağlayıcısı dışa aktarma işlemlerinde exceljs kullanır.

Sağlayıcı parametreleri

Bu sağlayıcı, type alanı excel olduğunda seçilir.

Zorunlu alanlar

AlanTipZorunluNot
type'excel'✅ Evetexcel olmalı.
dataArray<object>✅ EvetSatırları temsil eden obje dizisi.

options (opsiyonel)

AlanTipZorunluVarsayılanNotlar
options.headersstring[]❌ HayırVerilirse kolon sırası/key listesi olur. Verilmezse ilk satırın key’lerinden türetilir.
options.headersMapRecord<string,string>❌ HayırField key’lerini kolon başlığına map eder.
options.sheetNamestring❌ HayırSheet1Worksheet adı.
options.columnOptionsRecord<string, { width?: number; style?: { numFmt?: string } }>❌ HayırField adına göre kolon opsiyonları (genişlik ve number format).

Örnek

export.service.ts
import { Injectable } from '@nestjs/common';
import { DataExporterService } from 'nestjs-export-module';

@Injectable()
export class ExportService {
constructor(private readonly exporter: DataExporterService) {}

async exportExcel(rows: Array<object>) {
return this.exporter.exportAsync({
type: 'excel',
data: rows,
options: {
sheetName: 'Users',
headers: ['id', 'name', 'salary'],
headersMap: { id: 'ID', name: 'Name', salary: 'Salary' },
columnOptions: {
salary: { width: 16, style: { numFmt: '#,##0.00' } },
},
},
});
}
}

Notlar

  • Daha zengin tablo senaryoları için uygundur (çoklu sayfa, formatlama vb.).
  • Bu sağlayıcı { mimeType: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', extension: 'xlsx', data: Buffer } döndürür.