Sửa lỗi Excel: The file format or file extension is not valid

beginner📊 Microsoft Excel2026-03-23| Microsoft Excel 2016, 2019, 2021, Microsoft 365 — Windows 10/11, macOS

Error Message

The file format or file extension is not valid. Verify that the file has not been corrupted and that the file extension matches the format of the file.
#excel#định dạng file#file bị hỏng#xlsx

TL;DR

Excel báo lỗi này khi phần mở rộng của file không khớp với định dạng thực bên trong, hoặc khi file bị hỏng một phần. Cách nhanh nhất: đổi tên phần mở rộng cho đúng định dạng thực, hoặc dùng File → Open → Open and Repair.

Khi Nào Lỗi Này Xảy Ra

Bạn double-click vào file .xlsx — hoặc .xls, .csv, .xlsm — và Excel lập tức hiện thông báo:

The file format or file extension is not valid. Verify that the file has not been corrupted and that the file extension matches the format of the file.

Các nguyên nhân thường gặp:

  • Ai đó lưu file với đuôi .xlsx nhưng nội dung thực ra là CSV hoặc HTML
  • Download bị ngắt giữa chừng — bạn đang có một file tải dở trên ổ cứng
  • File bị đổi tên thủ công sang phần mở rộng sai (file .csv được đặt tên thành .xlsx)
  • Một công cụ bên thứ ba — hệ thống ERP, phần mềm báo cáo — ghi ra định dạng không chuẩn rồi gán đuôi Excel vào
  • Phần mềm diệt virus hoặc endpoint security đã ghi đè dữ liệu trong file khi quét

Cách 1: Kiểm Tra Định Dạng Thực Của File

Đừng đoán mò. Hãy kiểm tra định dạng thực trước — chỉ mất 10 giây và cho bạn biết chính xác cần dùng cách nào.

# Windows (PowerShell)
Format-Hex -Path "yourfile.xlsx" | Select-Object -First 2

# macOS / Linux
file yourfile.xlsx
xxd yourfile.xlsx | head -3

Một file .xlsx thực sự sẽ hiển thị như sau:

yourfile.xlsx: Zip archive data   # xlsx thực chất là một file ZIP bên trong

# Hex: PK\x03\x04  (50 4B 03 04)

Thấy HTML document hoặc ASCII text thay vào đó? File này chưa bao giờ là Excel — chỉ là bị đặt sai phần mở rộng mà thôi.

Đổi tên file cho khớp với định dạng thực

# Nếu lệnh `file` báo là HTML:
cp yourfile.xlsx yourfile.html
# Mở trong trình duyệt, copy dữ liệu, dán vào một sheet Excel mới

# Nếu thực ra là CSV:
cp yourfile.xlsx yourfile.csv
# Mở bình thường bằng Excel

Cách 2: Open and Repair (Công Cụ Tích Hợp Của Excel)

Phần mở rộng đúng rồi nhưng file vẫn không mở được? Có thể file bị hỏng một phần. Excel có sẵn công cụ sửa chữa tích hợp — nhưng nhiều người không biết tìm ở đâu.

  • Mở Excel trước — không double-click vào file
  • Vào File → Open → Browse
  • Chọn file, sau đó click vào mũi tên dropdown bên cạnh nút Open
  • Chọn Open and Repair…
  • Thử Repair trước. Nếu không được, chọn Extract Data

Cách này hoạt động hiệu quả đáng ngạc nhiên — miễn là Excel đọc được cấu trúc ZIP cốt lõi, dữ liệu sẽ được phục hồi.

Cách 3: Giải Nén File .xlsx Thủ Công

Điều mà hầu hết người dùng không biết: file .xlsx thực chất chỉ là một file ZIP chứa XML bên trong. Bạn có thể mở nó trực tiếp:

# Đổi tên và giải nén
cp yourfile.xlsx yourfile.zip
unzip yourfile.zip -d extracted_excel/
ls extracted_excel/

Một file .xlsx bình thường sẽ có cấu trúc bên trong như sau:

extracted_excel/
├── [Content_Types].xml
├── _rels/
├── xl/
│   ├── workbook.xml
│   ├── worksheets/
│   └── sharedStrings.xml
└── docProps/

Thiếu thư mục xl/ hoặc gặp lỗi "end-of-central-directory" khi giải nén? File đã bị hỏng thật sự rồi. Chuyển sang Cách 4.

Cách 4: Trích Xuất Dữ Liệu Bằng Python

Khi Excel bó tay, Python thường vẫn làm được. Ngay cả những file bị hỏng một phần vẫn có thể đọc được bằng lập trình — đủ để lấy lại dữ liệu.

pip install openpyxl pandas
import pandas as pd

try:
    df = pd.read_excel("yourfile.xlsx", engine="openpyxl")
    print(f"Đã phục hồi {len(df)} hàng")
    df.to_excel("yourfile_clean.xlsx", index=False)
except Exception as e:
    print(f"Thất bại: {e}")

    # File thực ra là CSV với phần mở rộng sai?
    df = pd.read_csv("yourfile.xlsx")
    df.to_excel("yourfile_clean.xlsx", index=False)

File đầu ra yourfile_clean.xlsx là một file mới hoàn toàn hợp lệ — không còn bất kỳ lỗi cấu trúc nào từ file gốc.

Cách 5: Khôi Phục Phiên Bản Trước

Bạn đang dùng OneDrive, SharePoint, hoặc Windows shadow copies? Có thể bạn đang có sẵn một phiên bản sạch ở đó.

# Windows — kiểm tra shadow copies
Chuột phải vào file → Properties → tab Previous Versions

Trên OneDrive: mở file trên giao diện web → click Version History trong menu trên cùng → khôi phục phiên bản trước khi file bị hỏng. Lịch sử phiên bản lưu lại 30 ngày với gói cá nhân, 180 ngày với Microsoft 365 Business.

Cách 6: Tải Lại Hoặc Xuất Lại File

Download bị ngắt giữa chừng là nguyên nhân phổ biến nhất gây ra lỗi này. Hãy tải file lại. Tiện thể, hãy so sánh kích thước file với thông số mà server báo — file 45 KB mà đáng lẽ phải là 2.3 MB thì rõ ràng có vấn đề.

Với các file xuất từ hệ thống nội bộ: hãy chạy lại lệnh xuất. Các công cụ ERP và báo cáo đôi khi bị crash giữa chừng khi ghi file, để lại một file trông có vẻ hợp lệ nhưng thực ra đã bị hỏng trên ổ cứng.

Kiểm Tra Sau Khi Sửa

Sau khi áp dụng một trong các cách trên, hãy xác nhận mọi thứ đã hoạt động đúng:

  • Excel mở được file mà không có hộp thoại cảnh báo nào
  • Tất cả các sheet, dữ liệu và định dạng đều còn nguyên vẹn
  • Chạy file yourfile.xlsx — kết quả phải là Zip archive data
  • Nếu bạn dùng Python, kiểm tra số hàng: print(len(df)) phải khớp với dữ liệu nguồn

Phòng Tránh Về Sau

  • Tạo file Excel bằng code? Hãy dùng openpyxl hoặc xlsxwriter — đừng bao giờ đổi tên file CSV thành .xlsx rồi coi như xong
  • Sau mỗi lần chuyển file hoặc tải xuống, hãy kiểm tra nhanh kích thước file; thêm xác minh sha256sum cho các pipeline quan trọng
  • Với các file xuất từ bên thứ ba, hãy tự động kiểm tra định dạng đầu ra trước khi đến tay người dùng cuối — phát hiện lỗi ngay trong pipeline, không phải trong hòm thư của ai đó

Related Error Notes