엑셀 열짤려서 업로드 되는거랑 다운로드시 카테고리 두개이상이면 코드로 나오던거 수정했습니당
This commit is contained in:
@@ -4737,7 +4737,24 @@ export class ButtonActionExecutor {
|
||||
const filteredRow: Record<string, any> = {};
|
||||
visibleColumns!.forEach((columnName: string) => {
|
||||
const label = columnLabels?.[columnName] || columnName;
|
||||
filteredRow[label] = row[columnName];
|
||||
let value = row[columnName];
|
||||
|
||||
// 카테고리 코드를 라벨로 변환 (CATEGORY_로 시작하는 값)
|
||||
if (value && typeof value === "string" && value.includes("CATEGORY_")) {
|
||||
// 먼저 _label 필드 확인 (API에서 제공하는 경우)
|
||||
const labelFieldName = `${columnName}_label`;
|
||||
if (row[labelFieldName]) {
|
||||
value = row[labelFieldName];
|
||||
} else {
|
||||
// _value_label 필드 확인
|
||||
const valueLabelFieldName = `${columnName}_value_label`;
|
||||
if (row[valueLabelFieldName]) {
|
||||
value = row[valueLabelFieldName];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
filteredRow[label] = value;
|
||||
});
|
||||
return filteredRow;
|
||||
});
|
||||
@@ -5010,8 +5027,15 @@ export class ButtonActionExecutor {
|
||||
value = row[`${columnName}_name`];
|
||||
}
|
||||
// 카테고리 타입 필드는 라벨로 변환 (백엔드에서 정의된 컬럼만)
|
||||
else if (categoryMap[columnName] && typeof value === "string" && categoryMap[columnName][value]) {
|
||||
value = categoryMap[columnName][value];
|
||||
else if (categoryMap[columnName] && typeof value === "string") {
|
||||
// 쉼표로 구분된 다중 값 처리
|
||||
if (value.includes(",")) {
|
||||
const values = value.split(",").map((v) => v.trim()).filter((v) => v);
|
||||
const labels = values.map((v) => categoryMap[columnName][v] || v);
|
||||
value = labels.join(", ");
|
||||
} else if (categoryMap[columnName][value]) {
|
||||
value = categoryMap[columnName][value];
|
||||
}
|
||||
}
|
||||
|
||||
filteredRow[label] = value;
|
||||
|
||||
@@ -116,8 +116,10 @@ export async function importFromExcel(
|
||||
return;
|
||||
}
|
||||
|
||||
// JSON으로 변환
|
||||
const jsonData = XLSX.utils.sheet_to_json(worksheet);
|
||||
// JSON으로 변환 (빈 셀도 포함하여 모든 컬럼 키 유지)
|
||||
const jsonData = XLSX.utils.sheet_to_json(worksheet, {
|
||||
defval: "", // 빈 셀에 빈 문자열 할당
|
||||
});
|
||||
|
||||
console.log("✅ 엑셀 가져오기 완료:", {
|
||||
sheetName: targetSheetName,
|
||||
|
||||
Reference in New Issue
Block a user