diff --git a/packages/common/business_components/src/ui/excel/index.tsx b/packages/common/business_components/src/ui/excel/index.tsx index 1e4626440..aedb32256 100644 --- a/packages/common/business_components/src/ui/excel/index.tsx +++ b/packages/common/business_components/src/ui/excel/index.tsx @@ -6,6 +6,7 @@ type ExcelDownloadProps = { fileName: string; sheetNameArray: string[]; headerRange?: string; + decimalArray0? : number[]; decimalArray1? : number[]; decimalArray2? : number[]; decimalArray3? : number[]; @@ -18,11 +19,11 @@ export const downloadExcel = ({ data, fileName = new Date().getTime().toString() excelStyle(XLSX.write(workbook, { bookType: "xlsx", type: "buffer" }), headerRange, fileName); }; -export const downloadExcelFormat = ({ data, fileName = new Date().getTime().toString() + '.xlsx', sheetNameArray = ["Sheet1"], headerRange='A1:V3', decimalArray1=[], decimalArray2=[], decimalArray3=[]}: ExcelDownloadProps) => { +export const downloadExcelFormat = ({ data, fileName = new Date().getTime().toString() + '.xlsx', sheetNameArray = ["Sheet1"], headerRange='A1:V3', decimalArray0=[], decimalArray1=[], decimalArray2=[], decimalArray3=[]}: ExcelDownloadProps) => { const worksheet = XLSX.utils.json_to_sheet(Array.isArray(data) ? data : [data]); const workbook = XLSX.utils.book_new(); XLSX.utils.book_append_sheet(workbook, worksheet, sheetNameArray[0]); - + console.log('decimalArray0 : ', decimalArray0); const headerEnd = XLSX.utils.decode_range(headerRange).e.r; // 0-based index const startRow = headerEnd + 1; @@ -37,18 +38,20 @@ export const downloadExcelFormat = ({ data, fileName = new Date().getTime().toSt const cell = worksheet[cellAddr]; if (cell && typeof cell.v === "number") { if(decimal===1){ - cell.z = "0.0"; // 소수점 3자리 + cell.z = "#,##0.0"; // 소수점 3자리 }else if(decimal===2){ - cell.z = "0.00"; + cell.z = "#,##0.00"; }else if(decimal===3){ - cell.z = "0.000"; + cell.z = "#,##0.000"; + }else{ + cell.z = "#,##0"; // 기본 천단위 콤마 } } } } } }; - + chaneValue(decimalArray0, 0); chaneValue(decimalArray1, 1); chaneValue(decimalArray2, 2); chaneValue(decimalArray3, 3);