You are on page 1of 2

exportExcel() {

if(this.data.length == 0){
this.service.openErrorSwal('Data is Null')
return false
}

let workbook: ExcelProper.Workbook = new Excel.Workbook();


let sheet = workbook.addWorksheet('Master Available Balance Detail BG');
let columnWidth = [5, 15, 15, 15, 30, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
15, 15,15];
let alignCenter = {
'vertical': 'middle',
'horizontal': 'center'
};

let border = {
top: {
style: 'thin'
},
left: {
style: 'thin'
},
bottom: {
style: 'thin'
},
right: {
style: 'thin'
}
};

let boldCell = function (cells) {


cells.forEach(el => {
sheet.getCell(el).font = {
bold: true
}
});
return;
}

let data = this.data


let row = 2;

// header
sheet.getCell("A1").value = "No";
sheet.getCell("B1").value = "Type";
sheet.getCell("C1").value = "Date And Time";
sheet.getCell("D1").value = "Doc Number";
sheet.getCell("E1").value = "Invoice";
sheet.getCell("F1").value = "Remarks";
sheet.getCell("G1").value = "User";
sheet.getCell("H1").value = "Plafond (Rp.)";
sheet.getCell("I1").value = "Reduction (Rp.)";
sheet.getCell("J1").value = "Additional (Rp.)";
sheet.getCell("K1").value = "SO (Rp.)";
sheet.getCell("L1").value = "DO/PGI (Rp.)";
sheet.getCell("M1").value = "AR (Rp.)";
sheet.getCell("N1").value = "Payment (Rp.)";
sheet.getCell("O1").value = "Available (Rp.)";
sheet.getCell("P1").value = "AR Unsecured (Rp.)";
sheet.getCell("Q1").value = "Approver";
sheet.getCell("R1").value = "Created Date";

boldCell(["A1", "B1", "C1", "D1", "E1", "F1", "G1", "H1", "I1", "J1", "K1",
"L1", "M1", "N1", "O1", "P1", "Q1","R1"]);

// sheet.getRow(1).alignment = alignCenter
var no = 1
data.forEach(item => {
sheet.getCell("A" + row).value = no++
sheet.getCell("B" + row).value = item.type
sheet.getCell("C" + row).value = this.service.formatDate(item.doc_date)
sheet.getCell("D" + row).value = (item.document_number) ?
item.document_number : 'remove'
sheet.getCell("E" + row).value = item.invoice_no
sheet.getCell("F" + row).value = item.remarks
sheet.getCell("G" + row).value = this.viewEmployeeNameExcel(item.created_by)
sheet.getCell("H" + row).value = this.renderValue(item.plafond)
sheet.getCell("I" + row).value = this.renderValue(item.Reduction)
sheet.getCell("J" + row).value = this.renderValue(item.Additional)
sheet.getCell("K" + row).value = this.renderValue(item.SO)
sheet.getCell("L" + row).value = this.renderValue(item.DO)
sheet.getCell("M" + row).value = this.renderValue(item.AR)
sheet.getCell("N" + row).value = this.renderValue(item.Payment)
sheet.getCell("O" + row).value = this.renderValue(item.after_adjustment)
sheet.getCell("P" + row).value = this.renderValue(item.ar_unsecured)
sheet.getCell("Q" + row).value = item.approver
sheet.getCell("R" + row).value = this.service.formatDate(item.created_date)
row++
});

// Adjust column width


sheet.columns.forEach((col, index) => {
if (columnWidth[index]) {
col.width = columnWidth[index];
}
});

// exporting
workbook.xlsx.writeBuffer().then(function (datas) {
var blob = new Blob([datas], {
type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
});

let currentTime = new Date().getDate().toString().padStart(2, "0") +


(Number(new Date().getMonth()) + 1).toString().padStart(2, "0") + new
Date().getFullYear();
saveAs(blob, "Master Available Balance Detail BG - " + currentTime +
".xlsx");
})

You might also like