181 lines
5.1 KiB
JavaScript
181 lines
5.1 KiB
JavaScript
|
|
let getExcel2 = function (data) {
|
|
|
|
|
|
let sheet_title = "품목코드등록";
|
|
let file_name = "품목코드등록";
|
|
|
|
const work_Book = new ExcelJS.Workbook(); // ExcelJS 라이브러리로 새 워크북 생성
|
|
const work_Sheet = work_Book.addWorksheet(sheet_title); // 새 워크시트 추가
|
|
|
|
const all_border = {
|
|
top: { style: "thin", color: { argb: "FF000000" } },
|
|
left: { style: "thin", color: { argb: "FF000000" } },
|
|
bottom: { style: "thin", color: { argb: "FF000000" } },
|
|
right: { style: "thin", color: { argb: "FF000000" } },
|
|
};
|
|
const field_css = {
|
|
yellow: {
|
|
border: all_border,
|
|
font: { color: { argb: "FF9C5700" }, bold: true },
|
|
alignment: { vertical: "middle", horizontal: "center" },
|
|
fill: {
|
|
type: "pattern",
|
|
pattern: "solid",
|
|
fgColor: { argb: "FFFFEB9C" },
|
|
},
|
|
},
|
|
green: {
|
|
border: all_border,
|
|
font: { color: { argb: "FF006100" }, bold: true },
|
|
alignment: { vertical: "middle", horizontal: "center" },
|
|
fill: {
|
|
type: "pattern",
|
|
pattern: "solid",
|
|
fgColor: { argb: "FFC6EFCE" },
|
|
},
|
|
},
|
|
red: {
|
|
border: all_border,
|
|
font: { color: { argb: "FF9C0006" }, bold: true },
|
|
alignment: { vertical: "middle", horizontal: "center" },
|
|
fill: {
|
|
type: "pattern",
|
|
pattern: "solid",
|
|
fgColor: { argb: "FFFFC7CE" },
|
|
},
|
|
|
|
},
|
|
blue: {
|
|
border: all_border,
|
|
font: { font: { size: 11 }, color: { argb: "0E3979" }, bold: true },
|
|
alignment: { vertical: "middle", horizontal: "center" },
|
|
fill: {
|
|
type: "pattern",
|
|
pattern: "solid",
|
|
fgColor: { argb: "EAEFF3" },
|
|
|
|
}
|
|
},
|
|
title: {
|
|
font: { size: 15, bold: true },
|
|
alignment: { vertical: "middle", horizontal: "center" },
|
|
},
|
|
box: {
|
|
border: all_border,
|
|
alignment: { vertical: "middle", horizontal: "center" },
|
|
font: { size: 11 },
|
|
|
|
},
|
|
|
|
|
|
};
|
|
|
|
// // 첫 번째 행 설정, 높이와 제목 설정
|
|
|
|
// let ws_row1 = work_Sheet.getRow(1);
|
|
// ws_row1.height = 32;
|
|
// ws_row1.getCell(1).value = "검사항목";
|
|
// ws_row1.getCell(1).style = field_css.title
|
|
// work_Sheet.mergeCells('A1:E1');
|
|
|
|
// 코드 가변처리, 항목추가시 편의성 개선
|
|
let headers = [
|
|
{ name: "품목", width: 15 },
|
|
{ name: "품목(명)", width: 30 },
|
|
{ name: "품목그룹", width : 15},
|
|
{ name: "공순", width: 15 },
|
|
{ name: "공정코드", width: 15 },
|
|
{ name: "준비시간", width: 15 },
|
|
{ name: "공정시간", width: 15 },
|
|
{ name: "공정단가", width: 15 },
|
|
//{ name: "검사번호", width: 15 },
|
|
{ name: "검사명", width: 15 },
|
|
{ name: "측정기", width: 15 },
|
|
{ name: "검사방법", width: 15 },
|
|
{ name: "OK/NG(Y/N)", width: 15 },
|
|
{ name: "기준값(㎜)", width: 15 },
|
|
{ name: "상한치(㎛)", width: 15 },
|
|
{ name: "하한치(㎛)", width: 15 }
|
|
];
|
|
|
|
let ws_row = work_Sheet.getRow(1);
|
|
ws_row.height = 25;
|
|
|
|
headers.forEach((header, index) => {
|
|
let cell = ws_row.getCell(index + 1);
|
|
cell.style = field_css.blue;
|
|
cell.value = header.name;
|
|
});
|
|
|
|
work_Sheet.columns = headers.map(header => ({ width: header.width }));
|
|
|
|
|
|
/*
|
|
let ws_row = work_Sheet.getRow(1);
|
|
ws_row.height = 25;
|
|
// ws_row.getCell(1).style = field_css.blue;
|
|
// ws_row.getCell(1).value = "NO.";
|
|
ws_row.getCell(1).style = field_css.blue;
|
|
ws_row.getCell(1).value = "품목";
|
|
ws_row.getCell(2).style = field_css.blue;
|
|
ws_row.getCell(2).value = "품목(명)";
|
|
ws_row.getCell(3).style = field_css.blue;
|
|
ws_row.getCell(3).value = "공순";
|
|
ws_row.getCell(4).style = field_css.blue;
|
|
ws_row.getCell(4).value = "공정코드";
|
|
ws_row.getCell(5).style = field_css.blue;
|
|
ws_row.getCell(5).value = "준비시간";
|
|
ws_row.getCell(6).style = field_css.blue;
|
|
ws_row.getCell(6).value = "공정시간";
|
|
ws_row.getCell(7).style = field_css.blue;
|
|
ws_row.getCell(7).value = "공정단가";
|
|
ws_row.getCell(8).style = field_css.blue;
|
|
ws_row.getCell(8).value = "검사명";
|
|
ws_row.getCell(9).style = field_css.blue;
|
|
ws_row.getCell(9).value = "측정기";
|
|
ws_row.getCell(10).style = field_css.blue;
|
|
ws_row.getCell(10).value = "검사방법";
|
|
ws_row.getCell(11).style = field_css.blue;
|
|
ws_row.getCell(11).value = "기준값(㎜)";
|
|
ws_row.getCell(12).style = field_css.blue;
|
|
ws_row.getCell(12).value = "상한치(㎛)";
|
|
ws_row.getCell(13).style = field_css.blue;
|
|
ws_row.getCell(13).value = "하한치(㎛)";
|
|
work_Sheet.columns = [
|
|
{ width: 15 },
|
|
{ width: 30 },
|
|
{ width: 15 },
|
|
{ width: 15 },
|
|
{ width: 15 },
|
|
|
|
{ width: 15 },
|
|
{ width: 15 },
|
|
{ width: 15 },
|
|
{ width: 15 },
|
|
{ width: 15 },
|
|
|
|
{ width: 15 },
|
|
{ width: 15 },
|
|
{ width: 15 },
|
|
];
|
|
*/
|
|
|
|
|
|
|
|
|
|
// 파일 생성 및 다운로드 부분
|
|
|
|
work_Book.xlsx.writeBuffer().then((data) => {
|
|
const blob = new Blob([data], {
|
|
type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
|
|
});
|
|
const url = window.URL.createObjectURL(blob);
|
|
const anchor = document.createElement("a");
|
|
anchor.href = url;
|
|
anchor.download = file_name;
|
|
anchor.click();
|
|
window.URL.revokeObjectURL(url);
|
|
});
|
|
}
|