This commit is contained in:
Envy_PC 2024-12-29 10:00:15 +09:00
parent 81f5d1249f
commit 6b2eebd9f1
4 changed files with 1093 additions and 4 deletions

1057
app.log

File diff suppressed because one or more lines are too long

Binary file not shown.

Binary file not shown.

View File

@ -74,7 +74,8 @@ class UIManager(QMainWindow):
self.central_widget.setLayout(self.layout)
# 버튼 설정
self.folder_button = QPushButton("폴더 선택")
self.man_folder_button = QPushButton("폴더 선택")
self.per_folder_button = QPushButton("폴더 선택")
self.api_button = QPushButton("API 호출")
self.post_button = QPushButton("후처리")
self.export_button = QPushButton("엑셀 출력")
@ -95,7 +96,8 @@ class UIManager(QMainWindow):
# 버튼 레이아웃
button_layout = QHBoxLayout()
# button_layout.addWidget(self.folder_button)
button_layout.addWidget(self.man_folder_button)
button_layout.addWidget(self.per_folder_button)
button_layout.addWidget(self.api_button)
button_layout.addWidget(self.post_button)
button_layout.addWidget(self.export_button)
@ -107,7 +109,8 @@ class UIManager(QMainWindow):
self.layout.addWidget(self.log_text)
# 버튼 이벤트 연결
self.folder_button.clicked.connect(self.select_folder)
self.man_folder_button.clicked.connect(self.select_folder_for_man)
self.per_folder_button.clicked.connect(self.select_folder_for_per)
self.api_button.clicked.connect(self.call_api)
self.post_button.clicked.connect(self.post_data)
self.export_button.clicked.connect(self.export_data)
@ -118,7 +121,36 @@ class UIManager(QMainWindow):
# self.table.populate_table()
def select_folder(self):
def select_folder_for_man(self):
folder_path = QFileDialog.getExistingDirectory(self, "폴더 선택")
if folder_path:
self.logger.log(f"선택된 폴더: {folder_path}", level=logging.DEBUG)
self.log_text.append(f"선택된 폴더: {folder_path}")
# 폴더 내의 엑셀 파일 읽기
try:
file_list = [f for f in os.listdir(folder_path) if f.endswith(('.xls', '.xlsx'))]
if not file_list:
QMessageBox.warning(self, "폴더 선택", "엑셀 파일이 없습니다!")
return
for file_name in file_list:
file_path = os.path.join(folder_path, file_name)
self.log_text.append(f"엑셀 파일 처리 중: {file_path}")
self.logger.log(f"엑셀 파일 읽기 시작: {file_path}", level=logging.DEBUG)
# 엑셀 파일 읽기 및 DB 저장
self.read_and_store_excel(file_path, self.category_manager)
# 테이블 업데이트
self.table.populate_table()
QMessageBox.information(self, "폴더 선택", "엑셀 파일에서 데이터 로드 완료!")
except Exception as e:
self.logger.log(f"엑셀 파일 처리 중 오류 발생: {e}", level=logging.ERROR, exc_info=True)
QMessageBox.critical(self, "폴더 선택", "엑셀 파일 처리 중 오류가 발생했습니다!")
def select_folder_for_per(self):
folder_path = QFileDialog.getExistingDirectory(self, "폴더 선택")
if folder_path:
self.logger.log(f"선택된 폴더: {folder_path}", level=logging.DEBUG)