오류수정, 암호화 추가
This commit is contained in:
@@ -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: '' });
|
||||
|
||||
|
||||
Reference in New Issue
Block a user