실패 입력 안내

모든 파일은 기본 합성 입력의 복사본입니다.
복구는 원본을 자동 수정하지 않고, 확인된 내용으로 만든 별도의 일반 XLSX
복사본에서 수행하세요. 다음 명령의 첫 번째 파일 이름만 바꿔 실행합니다.

python export_selected_sheet.py failure_inputs/formula.xlsx failed_probe.csv --sheet Public --range A1:C4

정상적인 중단의 종료 코드는 2이며 failed_probe.csv는 생성되지 않습니다.
출력이 이미 있으면 새 파일 이름을 사용하세요.

formula.xlsx / error_cell.xlsx
요청 범위에 수식 또는 오류 셀이 있습니다.
수식 계산이 필요한 업무라면 이 예제의 지원 범위 밖입니다.
검토해 확정한 텍스트 값만 들어 있는 별도 복사본을 준비하세요.

date_cell.xlsx / boolean_cell.xlsx / number_memo.xlsx
날짜, bool, 숫자는 텍스트가 아니므로 거부합니다.
필요한 표시 규칙을 사용자가 정해 텍스트 값으로 만든 복사본을 준비하세요.

numeric_code.xlsx
code 값이 숫자 123입니다. 표시 형식만 바꿔도 문자열 00123이 되지 않습니다.
권위 있는 코드 목록을 확인해 실제 문자열 코드를 입력한 복사본을 사용하세요.
누락된 앞자리 0을 이 코드가 추측해서 복구하지 않습니다.

wrong_header.xlsx / blank_code.xlsx / blank_name.xlsx
code,name,memo 헤더와 데이터 계약을 확인하세요.
memo의 빈 셀만 허용합니다.

merged_cells.xlsx / table.xlsx / filter.xlsx
병합, 표, 필터와 겹치지 않는 단순한 텍스트 범위를 별도로 준비하세요.

hidden_row.xlsx / hidden_column.xlsx / hidden_sheet.xlsx
내보낼 범위가 표시 상태인지 확인한 복사본을 사용하세요.
숨김을 자동 해제하지 않습니다.

csv_equals_text.xlsx / csv_plus_text.xlsx / csv_minus_text.xlsx / csv_at_text.xlsx
csv_space_prefix.xlsx / csv_fullwidth_prefix.xlsx / csv_tab_prefix.xlsx
csv_format_control_prefix.xlsx / csv_c1_control.xlsx
수식처럼 해석될 가능성이 있는 저장된 문자열입니다. 자동 치환하지 않습니다.
Unicode 제어·서식 문자가 있는 문자열도 보수적으로 거부합니다.
정말 필요한 문자열이라면 CSV 외의 형식과 별도 안전 정책을 검토하세요.

non_transitional_namespace.xlsx
workbook.xml의 namespace만 바꾼 합성 지원 형식 경계 파일입니다.
실제 Excel이 만든 완전한 Strict OOXML 문서가 아닙니다.
Strict OOXML 호환성이 검증됐다는 의미로 해석하지 마세요.

parser_warning_unselected_sheet.xlsx
비선택 합성 시트의 extLst에 openpyxl이 지원하지 않는 확장이 있습니다.
실제 파서 경고를 오류로 처리하는지 확인하기 위한 파일입니다.
경고가 발생한 입력을 결과 없음의 성공으로 간주하지 않습니다.

not_a_zip.xlsx / data_table_overlap.xlsx
XLSX 패키지가 아니거나, 요청 범위와 겹치는 다중 셀 수식 구조가 있습니다.
정상 일반 XLSX와 단순한 텍스트 표를 준비하세요.

shifted_success.xlsx는 실패 파일이 아니라 좌표 지정 성공 경계 파일입니다.
다음 명령은 Public B3:D6만 내보냅니다.
python export_selected_sheet.py failure_inputs/shifted_success.xlsx shifted_new.csv --sheet Public --range B3:D6
verify_result.py shifted_new.csv를 실행하면 기본 샘플과 같은 3행으로 확인됩니다.
