Sửa lỗi Excel 'We found a problem with some content' bằng cách tái cấu trúc XML thủ công

intermediate📊 Microsoft Excel2026-05-23| Microsoft Excel 2016, 2019, 2021 và Office 365 trên Windows 10/11 hoặc macOS

Error Message

We found a problem with some content in 'filename.xlsx'. Do you want us to try to recover as much as we can? If you trust the source of this workbook, click Yes.
#xlsx#xml#hỏng#sửa lỗi#khôi phục

TL;DR: Các giải pháp khắc phục nhanh

Nếu bạn đang vội, hãy thử các bước sau theo thứ tự:

  • Sửa lỗi trực tiếp (Native Repair): Mở Excel → FileOpenBrowse → Chọn tệp → Nhấp vào mũi tên bên cạnh OpenOpen and Repair.
  • Lưu dưới định dạng khác: Nếu tệp mở được sau khi sửa lỗi, hãy lưu ngay dưới dạng .xlsb (Binary) hoặc .csv để loại bỏ các dữ liệu XML rác bị hỏng, sau đó lưu lại thành .xlsx.
  • Google Sheets: Tải tệp lên Google Drive. Đôi khi trình phân tích cú pháp của Google "dễ tính" hơn Excel và có thể xuất lại một phiên bản sạch lỗi.

Kịch bản: Cuộc khủng hoảng hệ thống lúc 2 giờ sáng

Trời đã khuya, và một báo cáo quan trọng vừa biến thành một "cục gạch". Bạn cố gắng mở tệp .xlsx và Excel hiển thị thông báo: "We found a problem with some content in 'filename.xlsx'. Do you want us to try to recover as much as we can?"

Bạn nhấn "Yes", hy vọng vào một phép màu, nhưng kết quả nhận được là một bảng tính trống rỗng hoặc một tệp nhật ký ghi "Repaired Records: Drawing from /xl/drawings/drawing1.xml part." Một nửa dữ liệu của bạn đã biến mất, và định dạng trông giống như một lỗi trong Ma trận. Điều này thường xảy ra do cấu trúc XML bên trong tệp nén Excel bị lỗi định dạng—có thể do quá trình lưu bị treo, gián đoạn mạng, hoặc một thư viện bên thứ ba tạo ra các thẻ không hợp lệ.

Nguyên nhân gốc rễ: Bản chất chỉ là một tệp ZIP

Tệp .xlsx không phải là một khối dữ liệu nhị phân (binary blob); nó là một kho lưu trữ ZIP đã đổi tên, chứa một cấu trúc thư mục cụ thể gồm các tệp XML. Khi Excel báo có "vấn đề với một số nội dung", điều đó thường có nghĩa là một thẻ XML không được đóng đúng cách, hoặc có một ký tự không hợp lệ (như byte rỗng) ở nơi không nên có. Cụ thể, xl/sharedStrings.xml hoặc xl/worksheets/sheet1.xml thường là những "nghi phạm" chính.

Cách tiếp cận "Phẫu thuật viên": Sửa XML thủ công

Khi tính năng sửa lỗi tích hợp thất bại, bạn phải can thiệp vào bên trong. Đây là cách thực hiện "phẫu thuật" thủ công trên cấu trúc tệp.

Bước 1: Giải nén Workbook

  • Tạo một bản sao lưu cho tệp của bạn. Tuyệt đối không thao tác trên tệp gốc.
  • Đổi phần mở rộng của tệp từ .xlsx thành .zip.
  • Giải nén nội dung vào một thư mục bằng 7-Zip, WinRAR hoặc công cụ có sẵn của hệ điều hành.

Bước 2: Xác định vị trí lỗi

Đi tới thư mục xl/. Hầu hết các lỗi nằm ở:

  • xl/sharedStrings.xml: Nơi lưu trữ mọi chuỗi ký tự duy nhất được sử dụng trong workbook. Nếu tệp này bị hỏng, toàn bộ tệp sẽ lỗi.
  • xl/worksheets/: Chứa sheet1.xml, sheet2.xml, v.v.

Sử dụng các công cụ như VS Code hoặc Notepad++ để mở các tệp này. Nếu tệp quá lớn, đừng dùng Notepad mặc định vì nó sẽ bị treo.

Bước 3: Kiểm tra và sửa lỗi XML

Nếu bạn dùng Linux hoặc macOS, bạn có thể sử dụng xmllint để tìm chính xác dòng bị lỗi:

xmllint --noout xl/sharedStrings.xml

Nếu nó trả về lỗi như Opening and ending tag mismatch, bạn đã tìm thấy vấn đề. Trong VS Code, bạn có thể sử dụng tiện ích mở rộng XML để "Format Document". Trình định dạng thường sẽ dừng lại hoặc làm nổi bật vị trí chính xác mà cú pháp bị lỗi.

Các lỗi phổ biến bao gồm:

  • Các thuộc tính trùng lặp trong một thẻ duy nhất.
  • Các ký tự không hợp lệ (ký tự điều khiển ASCII) không được thoát chuỗi (escape).
  • Tệp bị cắt ngắn khiến các thẻ đóng cuối cùng như </sst> hoặc </worksheet> bị thiếu.

Sửa thẻ thủ công hoặc xóa nút XML bị hỏng, sau đó lưu tệp.

Bước 4: Đóng gói lại tệp

Đây là phần quan trọng. Bạn phải nén nội dung của thư mục, chứ không phải nén chính thư mục đó.

  • Vào bên trong thư mục đã giải nén.
  • Chọn tất cả các tệp (_rels, docProps, xl, [Content_Types].xml).
  • Chuột phải → Send to Compressed (zipped) folder.
  • Rename tệp .zip kết quả trở lại thành .xlsx.

Xác minh: Xác nhận việc sửa lỗi

Mở tệp mới trong Excel. Nếu nó mở được mà không có thông báo "We found a problem", bạn đã thành công. Hãy thực hiện Save As ngay lập tức để Excel lập chỉ mục lại các thành phần bên trong và đảm bảo cấu trúc tệp tuân thủ 100% tiêu chuẩn OpenXML.

Kiểm tra mất dữ liệu

Nếu bạn phải xóa một thẻ <si> (phần tử chuỗi) bị hỏng trong sharedStrings.xml, một hoặc nhiều ô trong bảng tính của bạn giờ đây sẽ trống hoặc hiển thị số 0. Hãy dùng nhanh CTRL+F để tìm các giá trị mà bạn biết là nằm gần khu vực bị hỏng để kiểm tra tính toàn vẹn.

Tài liệu tham khảo & Công cụ

  • Open XML SDK Productivity Tool: Một công cụ của Microsoft có thể xác thực các tệp .xlsx và chỉ ra chính xác phần nào của schema bị vi phạm.
  • Giới hạn SST (Shared String Table): Các tệp lớn thường bị lỗi khi thuộc tính uniqueCount trong sharedStrings.xml không khớp với số lượng chuỗi thực tế.

Related Error Notes