오류수정, 암호화 추가

This commit is contained in:
2025-06-09 22:45:55 +09:00
parent 912e6e1033
commit 7e1bbcede0
6 changed files with 248 additions and 36 deletions
+9 -4
View File
@@ -133,7 +133,7 @@ exports.uploadEventFile = (req, res) => {
// 업로드된 파일 파싱 및 미리보기 데이터 제공
exports.parseEventFile = async (req, res) => {
try {
const { filename, clubId } = req.body;
const { filename, clubId, sheetName } = req.body;
if (!filename) {
return res.status(400).json({ message: '파일명이 필요합니다.' });
@@ -196,7 +196,7 @@ exports.parseEventFile = async (req, res) => {
// 파일 형식에 따른 처리
if (fileExt === '.xlsx' || fileExt === '.xls') {
// Excel 파일 처리
parsedData = await parseExcelFile(filePath, memberMap);
parsedData = await parseExcelFile(filePath, memberMap, sheetName);
} else if (fileExt === '.csv') {
// CSV 파일 처리
parsedData = await parseCsvFile(filePath, memberMap);
@@ -227,9 +227,14 @@ exports.parseEventFile = async (req, res) => {
};
// Excel 파일 파싱 함수
async function parseExcelFile(filePath, memberMap) {
async function parseExcelFile(filePath, memberMap, requestedSheetName = null) {
const workbook = xlsx.readFile(filePath, { type: 'binary', cellDates: true, codepage: 949 });
const sheetName = workbook.SheetNames[0];
// 요청된 시트명이 있고 해당 시트가 존재하면 그것을 사용, 아니면 첫 번째 시트 사용
const sheetName = (requestedSheetName && workbook.SheetNames.includes(requestedSheetName))
? requestedSheetName
: workbook.SheetNames[0];
const worksheet = workbook.Sheets[sheetName];
const jsonData = xlsx.utils.sheet_to_json(worksheet, { header: 1, defval: '' });