CSV
CSV sağlayıcısı dışa aktarma işlemlerinde json-2-csv kullanır.
Sağlayıcı parametreleri
Bu sağlayıcı, type alanı csv olduğunda seçilir.
Zorunlu alanlar
| Alan | Tip | Zorunlu | Not |
|---|---|---|---|
type | 'csv' | ✅ Evet | csv olmalı. |
data | Array<object> | ✅ Evet | Satırları temsil eden obje dizisi. |
options (opsiyonel)
| Alan | Tip | Zorunlu | Varsayılan | Notlar |
|---|---|---|---|---|
options.headers | string[] | ❌ Hayır | — | Kolon sırası / key listesi. Verilmezse obje key’leri kullanılır. |
options.headersMap | Record<string,string> | ❌ Hayır | — | Field key’lerini başlık metnine map eder. |
options.delimiter | string | ❌ Hayır | , | CSV delimiter. |
options.quote | string | ❌ Hayır | — | Quote/wrap karakteri (json-2-csv’ye aktarılır). |
options.encoding | BufferEncoding | ❌ Hayır | utf-8 | Çıktı buffer’ı oluştururken kullanılacak encoding. |
Ö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 exportCsv(rows: Array<object>) {
return this.exporter.exportAsync({
type: 'csv',
data: rows,
options: {
headers: ['id', 'name', 'email'],
headersMap: { id: 'ID', name: 'Name', email: 'Email' },
delimiter: ',',
encoding: 'utf-8',
},
});
}
}
Notlar
- Basit tablosal dışa aktarma işlemleri için uygundur.
- Bu sağlayıcı
{ mimeType: 'text/csv', extension: 'csv', data: Buffer }döndürür.