시스템이 report.xls 파일을 이메일로 보냈고, 당신이 더블클릭했을 때 Excel이 경고를 표시했습니다:
'report.xls'의 파일 형식과 확장자가 일치하지 않습니다. 그래도 열면 파일이 정상적으로 열리거나 화면에 마크업이 가득 찹니다. 대신 Excel 뷰어 에 업로드하세요 — 파일이 실제로 무엇인지 읽어줍니다, 이름만 보는 것이 아니라. XLS, XLSX, CSV, ODS 및 매크로, 바이너리, 템플릿 변형까지, 최대 20 MB, 탭을 닫으면 삭제됩니다.

확장자는 주장일 뿐, 사실은 아니다
프로그램이 원하는 어떤 바이트든 쓰고 결과를 .xls 라고 이름 짓는 것을 막는 것은 없습니다. 실제로 많은 프로그램이 그렇게 합니다. 보고 도구, ERP, 은행 포털, 관리 패널 모두 "Excel로 내보내기" 기능을 제공하는데, 가장 저렴한 방법은 다른 형식의 파일을 만들고 Excel 확장자를 붙이는 것입니다. Excel이 보통 그 파일을 열어 주기 때문입니다.
Excel 2007부터 파일이 열리기 전에 형식을 검사합니다. 여기서 경고가 발생하는 것이죠. 이는 손상 메시지가 아니라, 파일 이름이 잘못되었다는 Excel의 알림입니다.
실제로 가지고 있는 것이 무엇인지 확인하기
파일을 텍스트 편집기(예: 메모장)로 열고 첫 번째 줄을 확인하세요. 거의 모든 경우는 다음 다섯 가지 중 하나입니다.
<html,<head>또는<table— 스프레드시트 이름이 붙은 HTML 테이블입니다. 브라우저와 웹 보고서에서 지속적으로 생성됩니다.<?xml— SpreadsheetML, Excel 2003이 만든 XML 워크북 형식입니다.PK— ZIP 압축 파일이며, 잘못된 확장자를 가진 실제 XLSX(또는 ODS, DOCX) 파일입니다.- 읽을 수 없는 바이너리(바이트
D0 CF 11 E0로 시작) — 2007 이전의 실제 XLS 파일이며, 말 그대로 그 형식입니다. - 값 사이에 쉼표, 세미콜론 또는 탭이 있는 일반 텍스트 — 구분자 텍스트 파일이며, 다른 이름을 가진 CSV라고 볼 수 있습니다.
각 사기 파일이 초래하는 비용
이것을 알면 각각이 어떤 손실을 초래하는지 이해할 수 있습니다.
HTML 테이블 은 값과 일부 서식만 포함하고, 수식은 전혀 없습니다. 내보내기 시스템이 계산한 결과를 기록했을 뿐이며, 재계산할 기반이 없고 전송 중에 손실된 것도 없습니다 — 처음부터 기록되지 않았습니다.
SpreadsheetML 은 수식과 셀 서식을 유지합니다. 그러나 차트와 피벗 테이블은 저장할 방법이 없으므로 파일을 쓸 때 제외되었으며, 열 때가 아니라 저장할 때 사라집니다.
잘못된 이름의 XLSX 는 아무것도 잃지 않습니다. 전체 최신 워크북이며, 잘못된 점은 파일 이름의 여섯 글자뿐입니다.
구분자 텍스트 파일 은 값만 가지고 있고, 수식, 서식, 두 번째 시트는 없습니다. 텍스트가 한 열에 쉼표로 구분되어 있다면, 구분자가 Excel이 기대하는 것이 아니었습니다.
한 번에 해결하기
보존해야 할 파일이 있다면, 경고를 무시하고 Excel에서 연 뒤 파일 > 다른 이름으로 저장 > Excel 워크북(.xlsx)으로 저장하세요. 이제 실제 워크북이 생기고 경고는 영원히 사라집니다.
잘못된 이름의 XLSX는 파일명을 바꾸고 끝내세요. 이름을 바꾸는 것은 변환이 아니며 거의 도움이 되지 않지만, 내용이 이미 올바른 경우는 예외입니다.
사기 파일이 아닌 경우
.xlsb 는 의심스러워 보이지만 실제로는 그렇지 않습니다. 압축된 XML 대신 바이너리 형태로 저장된 실제 Excel 워크북으로, 동일한 데이터이면서 눈에 띄게 작고 큰 모델에서도 더 빠르게 열립니다. 동료가 이 파일을 보내면 문제 없습니다.
파일이 어떤 형태이든, Excel 뷰어 가 열어 시트를 보여줄 것입니다.