使用数据格式导出到Angular2中的Excel

时间:2017-11-25 05:46:22

标签: angular typescript export-to-excel number-formatting date-formatting

我有一个导出到Excel的功能。我使用了file-saverxlsx npm包,它完美无缺。以下是我调用exportAsExcelFile的代码:

this.httpservice.getSales_ByBillNo(this.branchUID, this.billNoUrl, this.fromDate, this.toDate)
                .subscribe((data1: Observable<any>) => {
                    this.billNoResults = data1;
                    this.httpservice.exportAsExcelFile(this.billNoResults,'BillNo', 'DayWiseSalesByTotalReport');
                });

以下是 Service.ts 中的exportAsExcelFile功能:

exportAsExcelFile(json: any[],dataOne:string, excelFileName: string): void {

    const worksheet: XLSX.WorkSheet = XLSX.utils.json_to_sheet(json);
    const workbook: XLSX.WorkBook = { Sheets: { dataOne: worksheet }, SheetNames: [dataOne] };

    const excelBuffer: any = XLSX.write(workbook, { bookType: 'xlsx', bookSST: false, type: 'binary' });

    let buf = new ArrayBuffer(excelBuffer.length);
    let view = new Uint8Array(buf);
    for (var i = 0; i != excelBuffer.length; ++i) view[i] = excelBuffer.charCodeAt(i) & 0xFF;

    const data: Blob = new Blob([buf], {
        type: EXCEL_TYPE
    });

    saveAs(data, excelFileName + new Date() + EXCEL_EXTENSION)
}

以上功能完美无缺。在Excel中,我有日期和其他值列。这是它的屏幕截图:

Export to Excel

但我需要将BillDate格式化为dd/mm/yyyyQtyValue应格式化为十进制,小数点后2位。

有人可以帮我解决这个问题吗?

提前致谢。

编辑:我已将json附加到此处。

json

0 个答案:

没有答案