Có thể bạn quan tâm: Cách Thay Đổi Định Dạng Ngày Trong Excel: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao
1. Giới thiệu tổng quan về metadata trong Excel
Khi làm việc với các file Excel, đặc biệt là trong môi trường doanh nghiệp hay dự án cộng tác, việc biết được tác giả (author) của một file là rất quan trọng. Thông tin này không chỉ giúp xác định người chịu trách nhiệm tạo ra dữ liệu mà còn hỗ trợ trong việc:
- Quản lý phiên bản: Tránh nhầm lẫn khi có nhiều người cùng chỉnh sửa một file.
- Bảo mật: Phát hiện các file không rõ nguồn gốc, ngăn chặn rủi ro rò rỉ dữ liệu.
- Tuân thủ quy trình: Đáp ứng yêu cầu kiểm toán, lưu trữ tài liệu theo chuẩn ISO, GDPR, v.v.
Microsoft Excel lưu trữ các thông tin này dưới dạng metadata (siêu dữ liệu) trong file. Metadata bao gồm các trường như Author, Last Modified By, Company, Title, Subject, và nhiều thông tin khác. Các trường này được lưu trong định dạng OpenXML (đối với .xlsx) hoặc Binary Interchange File Format (BIFF) (đối với .xls).
Trong bài viết này, chúng ta sẽ đi sâu vào cách kiểm tra tác giả của file Excel bằng nhiều phương pháp khác nhau:
- Sử dụng tính năng sẵn có trong Excel (File > Info, Properties, v.v.).
- Dùng Windows Explorer (Properties > Details).
- Sử dụng PowerShell (lệnh
Get-ItemPropertyvàGet-Content). - Sử dụng Python (thư viện
openpyxl,xlrd,pywin32). - Sử dụng công cụ dòng lệnh như
exiftool. - Phân tích metadata trong file .xlsx (đọc file ZIP và file core.xml).
- Xử lý các trường hợp đặc biệt: file được bảo vệ, macro, file .xls cũ, file được lưu dưới dạng CSV, v.v.
Bên cạnh việc đưa ra từng bước thực hiện, chúng ta cũng sẽ cung cấp mã nguồn mẫu, lưu ý an toàn, và cách tự động hoá quy trình cho doanh nghiệp.
Có thể bạn quan tâm: Certificate Of Excellence Là Gì? – Khám Phá Ý Nghĩa, Loại Hình Và Cách Đạt Được Danh Hiệu Danh Giá
2. Kiểm tra tác giả bằng giao diện Excel (cách nhanh nhất)
2.1. Mở file Excel và vào tab “File”
- Mở file Excel cần kiểm tra.
- Nhấn File (hoặc nhấn
Alt + F). - Chọn Info ở thanh bên trái.
2.2. Xem thông tin “Properties”
- Ở phần Properties (có thể hiển thị dưới dạng “Related Document Properties”), bạn sẽ thấy các trường:
- Author – người tạo file.
- Last Modified By – người chỉnh sửa lần cuối.
- Created – thời gian tạo.
- Modified – thời gian chỉnh sửa lần cuối.
Nếu không thấy các trường này, nhấn Show All Properties để mở rộng danh sách.
2.3. Chỉnh sửa hoặc xóa thông tin tác giả
- Để thay đổi tác giả, click vào giá trị hiện tại và nhập tên mới.
- Để xóa thông tin, để trống trường và lưu lại file.
Lưu ý: Khi file được lưu lại, Excel sẽ tự động cập nhật trường Last Modified By dựa trên tài khoản Windows đang đăng nhập. Vì vậy, nếu bạn muốn giữ nguyên thông tin gốc, cần tắt tính năng Document Properties trong Trust Center hoặc sử dụng macro để ghi đè lại metadata.
Có thể bạn quan tâm: Cash Flow Forecast Template Excel: Hướng Dẫn Chi Tiết Từ A Đến Z Để Quản Lý Dòng Tiền Hiệu Quả
3. Kiểm tra tác giả qua Windows Explorer
3.1. Mở cửa sổ Properties
- Trong Windows Explorer, locate file .xlsx hoặc .xls.
- Click chuột phải → Properties → tab Details.
3.2. Đọc các trường metadata
- Authors: danh sách tên tác giả.
- Last saved by: người lưu cuối.
- Company: công ty (nếu được thiết lập).
- Title, Subject, Comments: các trường tùy chỉnh.
3.3. Sửa hoặc xóa metadata trong Explorer
- Click vào giá trị cần thay đổi → Edit → nhập giá trị mới hoặc để trống.
- Nhấn OK để lưu.
Cảnh báo: Việc thay đổi metadata trực tiếp trong Explorer có thể gây mất đồng bộ với nội dung thực tế trong file, đặc biệt khi file có macro hoặc được bảo vệ.
4. Sử dụng PowerShell để trích xuất tác giả
PowerShell là công cụ mạnh mẽ cho việc tự động hoá trên Windows. Dưới đây là các lệnh cơ bản:
4.1. Lệnh Get-ItemProperty
$path = "C:\Data\Report.xlsx"
$props = Get-ItemProperty -Path $path
$props.Author
$props.LastWriteTime
4.2. Đọc metadata OpenXML với System.IO.Packaging
Add-Type -AssemblyName System.IO.Packaging function Get-ExcelMetadata { param(string$FilePath) $package = System.IO.Packaging.Package::Open($FilePath, System.IO.FileMode::Open, System.IO.FileAccess::Read) $corePart = $package.GetRelationshipsByType("http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties") | ForEach-Object { $package.GetPart($_.TargetUri) } $xml = xml(Get-Content $corePart.GetStream()) $author = $xml.coreProperties.creator $lastModifiedBy = $xml.coreProperties.lastModifiedBy $package.Close() return PSCustomObject@{ Author = $author LastModifiedBy = $lastModifiedBy }
} Get-ExcelMetadata -FilePath "C:\Data\Report.xlsx"
Kết quả trả về sẽ là một đối tượng có hai thuộc tính: Author và LastModifiedBy.
4.3. Script batch để kiểm tra nhiều file
$folder = "C:\Data\ExcelFiles"
Get-ChildItem -Path $folder -Filter .xlsx -Recurse | ForEach-Object { $meta = Get-ExcelMetadata -FilePath $_.FullName PSCustomObject@{ FileName = $_.Name Author = $meta.Author LastModifiedBy = $meta.LastModifiedBy Path = $_.FullName }
} | Export-Csv -Path "C:\Data\Excel_Metadata_Report.csv" -NoTypeInformation
Script trên sẽ tạo một báo cáo CSV liệt kê tác giả của tất cả file trong thư mục chỉ định.
5. Kiểm tra tác giả bằng Python
Python cung cấp nhiều thư viện để làm việc với file Excel, trong đó openpyxl và pywin32 (trên Windows) là hai lựa chọn phổ biến.
5.1. Dùng openpyxl (đối với .xlsx)
from openpyxl import load_workbook def get_excel_author(file_path): wb = load_workbook(filename=file_path, read_only=True, data_only=True) props = wb.properties return { "author": props.author, "last_modified_by": props.lastModifiedBy, "created": props.created, "modified": props.modified } if __name__ == "__main__": file = r"C:\Data\Report.xlsx" info = get_excel_author(file) print(f"Author: {info'author'}") print(f"Last Modified By: {info'last_modified_by'}")
Lưu ý: openpyxl chỉ đọc metadata trong core.xml. Nếu file được bảo vệ bằng mật khẩu, bạn cần mở bằng load_workbook với tùy chọn keep_vba=True (đối với file chứa macro).
5.2. Dùng pywin32 (truy cập COM)
import win32com.client as win32 def get_excel_author_com(file_path): excel = win32.gencache.EnsureDispatch('Excel.Application') wb = excel.Workbooks.Open(file_path, ReadOnly=True) author = wb.BuiltinDocumentProperties("Author").Value last_mod = wb.BuiltinDocumentProperties("Last Author").Value wb.Close(False) excel.Quit() return author, last_mod if __name__ == "__main__": author, last = get_excel_author_com(r"C:\Data\Report.xlsx") print(f"Author: {author}") print(f"Last Modified By: {last}")
Phương pháp COM cho phép truy cập đầy đủ hơn vào các thuộc tính, bao gồm cả các trường tùy chỉnh (CustomDocumentProperties).
5.3. Dùng pandas để đọc file .xls (BIFF)

Có thể bạn quan tâm: Hướng Dẫn Chi Tiết Cách Thay Đổi Định Dạng Ngày (date Format) Trong Excel: Từ Cơ Bản Đến Nâng Cao
import pandas as pd def get_xls_author(file_path): # pandas không hỗ trợ metadata, cần dùng xlrd hoặc olefile import xlrd book = xlrd.open_workbook(file_path, formatting_info=False) # Metadata không có trong xlrd, cần đọc OLE stream # Sử dụng olefile để đọc dữ liệu OLE import olefile ole = olefile.OleFileIO(file_path) if ole.exists('\x05SummaryInformation'): stream = ole.openstream('\x05SummaryInformation') data = stream.read() # Phân tích binary để lấy Author (đòi hỏi parsing phức tạp) # Thường không thực hiện trong script nhanh. ole.close() return "Không hỗ trợ trực tiếp qua pandas" print(get_xls_author(r"C:\Data\OldFile.xls"))
Với file .xls (định dạng cũ), việc trích xuất metadata phức tạp hơn và thường cần dùng olefile hoặc exiftool.
6. Sử dụng exiftool – Công cụ đa nền tảng
exiftool là một công cụ dòng lệnh mạnh mẽ, hỗ trợ đọc và chỉnh sửa metadata của hầu hết các định dạng file, bao gồm Excel.
6.1. Cài đặt exiftool
- Windows: Tải file
exiftool(-k).exetừ trang chính, đổi tên thànhexiftool.exe. - macOS:
brew install exiftool - Linux:
sudo apt-get install libimage-exiftool-perl
6.2. Đọc tác giả
exiftool -Author -LastModifiedBy "C:\Data\Report.xlsx"
Kết quả:
Author : Nguyễn Văn A
Last Modified By : Trần Thị B
6.3. Ghi đè hoặc xóa tác giả
# Ghi đè
exiftool -Author="Lê Văn C" "C:\Data\Report.xlsx" # Xóa trường
exiftool -Author= "C:\Data\Report.xlsx"
6.4. Kiểm tra metadata của nhiều file
exiftool -csv -Author -LastModifiedBy -FileName "C:\Data\ExcelFiles\.xlsx" > report.csv
File report.csv sẽ chứa danh sách file và thông tin tác giả, rất hữu ích cho việc audit.
7. Phân tích cấu trúc nội bộ của file .xlsx (OpenXML)
File .xlsx thực chất là một tập tin ZIP chứa nhiều thành phần XML. Metadata nằm trong docProps/core.xml.
7.1. Mở file .xlsx bằng trình duyệt ZIP
unzip -l Report.xlsx
Bạn sẽ thấy:
docProps/core.xml
docProps/app.xml
xl/workbook.xml
...
7.2. Đọc core.xml
unzip -p Report.xlsx docProps/core.xml | xmllint --format -
Kết quả (đoạn quan trọng):
<dc:creator>Nguyễn Văn A</dc:creator>
<cp:lastModifiedBy>Trần Thị B</cp:lastModifiedBy>
<dcterms:created xsi:type="dcterms:W3CDTF">2026-03-15T10:23:00Z</dcterms:created>
<dcterms:modified xsi:type="dcterms:W3CDTF">2026-06-20T14:45:32Z</dcterms:modified>
7.3. Thay đổi metadata bằng cách chỉnh sửa core.xml
- Giải nén file:
bash mkdir temp_folder unzip Report.xlsx -d temp_folder
Sửa core.xml bằng editor (vim, Notepad++, VS Code).
Nén lại:
bash cd temp_folder zip -r ../Report_Modified.xlsx
Sau khi nén, file mới sẽ chứa thông tin tác giả đã được cập nhật.
Cảnh báo: Việc tự tay chỉnh sửa core.xml có thể làm hỏng file nếu không tuân thủ đúng namespace và schema. Luôn sao lưu file gốc trước khi thực hiện.
8. Xử lý các trường hợp đặc biệt
8.1. File được bảo vệ bằng mật khẩu
- Khi file được đặt password để mở, hầu hết các công cụ (PowerShell, Python, exiftool) không thể truy cập metadata mà không có mật khẩu.
- Giải pháp:
- Mở file trong Excel, nhập mật khẩu, sau đó Save As dưới dạng không bảo vệ và kiểm tra metadata.
Hoặc dùng Office Automation (COM) để mở file với mật khẩu:
python
wb = excel.Workbooks.Open(file_path, False, True, Password='mypwd')
8.2. File chứa macro (.xlsm)
- Metadata vẫn nằm trong
core.xml, nhưng nếu macro thay đổi giá trị thuộc tính (ví dụ:Application.ActiveWorkbook.BuiltinDocumentProperties("Author") = "..."), thì thông tin sẽ được cập nhật khi macro chạy. - Để đảm bảo tính toàn vẹn, nên tắt macro khi kiểm tra metadata, hoặc phân tích macro để biết có thao tác nào thay đổi thuộc tính không.
8.3. File .xls (định dạng cũ)
- Metadata được lưu trong OLE Property Set (
\x05SummaryInformationvà\x05DocumentSummaryInformation). - exiftool vẫn có thể đọc được:
bash exiftool -Author -LastModifiedBy "C:\Data\OldFile.xls"
- Nếu muốn dùng Python, có thể dùng olefile để trích xuất:
“`python
import olefile
def get_ole_author(file_path):
ole = olefile.OleFileIO(file_path)
if ole.exists(‘\x05SummaryInformation’):
stream = ole.openstream(‘\x05SummaryInformation’)
data = stream.read()
# Parsing binary structure theo spec OLE Property Set
# Thực hiện bằng thư viện oletools:
from oletools import oleid
# … (code phức tạp)
ole.close()
“`
8.4. File CSV hoặc TXT (không có metadata)
- Các định dạng plain text không lưu metadata. Để biết tác giả, bạn phải dựa vào:
- Tên file (ví dụ:
Report_20240620_Author_NguyenVanA.csv). - Thông tin trong nội dung (cột “Created By”).
- Hệ thống quản lý tài liệu (SharePoint, Google Drive) có thể lưu metadata riêng.
9. Tự động hoá quy trình kiểm tra tác giả trong môi trường doanh nghiệp
9.1. Kịch bản PowerShell cho server
Giả sử bạn có một thư mục chia sẻ \\Server\Shared\ExcelDocs. Bạn muốn định kỳ (hàng ngày) kiểm tra và lưu báo cáo vào SharePoint.
# File: Get-ExcelAuthors.ps1
param( string$SourceFolder = "\\Server\Shared\ExcelDocs", string$ReportPath = "C:\Reports\ExcelAuthors_$(Get-Date -Format yyyyMMdd).csv"
) Import-Module -Name ImportExcel # Nếu muốn xuất file Excel thay vì CSV $files = Get-ChildItem -Path $SourceFolder -Recurse -Include .xlsx, .xlsm, .xls $report = foreach ($f in $files) { try { $meta = Get-ExcelMetadata -FilePath $f.FullName PSCustomObject@{ FileName = $f.Name Path = $f.FullName Author = $meta.Author LastModifiedBy = $meta.LastModifiedBy Created = $meta.Created Modified = $meta.Modified } } catch { Write-Warning "Cannot read $($f.FullName): $_" }
} $report | Export-Csv -Path $ReportPath -NoTypeInformation -Encoding UTF8 # Đẩy lên SharePoint (sử dụng PnP PowerShell)
Connect-PnPOnline -Url "https://contoso.sharepoint.com/sites/Docs" -Interactive
Add-PnPFile -Path $ReportPath -Folder "Shared Documents/ExcelMetadata"
Kịch bản trên:
- Dò qua toàn bộ thư mục.
- Ghi lại tác giả và thời gian.
- Đẩy báo cáo lên SharePoint để các bộ phận kiểm toán có thể truy cập.
9.2. Tích hợp vào CI/CD (GitLab CI)
Nếu công ty lưu trữ file Excel trong Git repository, bạn có thể tạo một job để kiểm tra metadata trước khi merge:
stages: - metadata_check metadata_check: stage: metadata_check image: python:3.11 script: - pip install openpyxl - python check_metadata.py only: - merge_requests
check_metadata.py:
import sys, os, json
from openpyxl import load_workbook def check_file(file_path): wb = load_workbook(file_path, read_only=True, data_only=True) author = wb.properties.author or "UNKNOWN" # Kiểm tra quy tắc: author phải là email công ty if not author.endswith("@contoso.com"): return False, author return True, author failed = for root, _, files in os.walk('.'): for f in files: if f.lower().endswith(('.xlsx', '.xlsm')): ok, author = check_file(os.path.join(root, f)) if not ok: failed.append(f"{os.path.join(root, f)} -> Author: {author}") if failed: print("Metadata check FAILED:") for line in failed: print(line) sys.exit(1)
else: print("All Excel files have valid authors.")
Nếu bất kỳ file nào không đáp ứng tiêu chuẩn, pipeline sẽ fail, ngăn việc merge.
10. Các công cụ và tài nguyên tham khảo
| Công cụ | Nền tảng | Mô tả ngắn |
|---|---|---|
| Excel (File > Info) | Windows/macOS | Giao diện người dùng tích hợp, nhanh nhất cho kiểm tra thủ công. |
| Windows Explorer > Properties | Windows | Đọc nhanh metadata mà không mở file. |
| PowerShell | Windows | Tự động hoá, tích hợp sâu vào hệ thống Windows. |
| Python (openpyxl, pywin32) | Cross‑platform (Windows + macOS + Linux) | Linh hoạt, dễ viết script tùy chỉnh. |
| exiftool | Cross‑platform | Đọc/ghi đa định dạng, hỗ trợ batch. |
| 7‑Zip / WinRAR | Windows | Mở file .xlsx như ZIP để xem core.xml. |
| OleFile (Python) | Cross‑platform | Xử lý file .xls cũ. |
| PnP PowerShell | Windows | Đẩy báo cáo lên SharePoint. |
| GitLab CI / GitHub Actions | Cloud | Kiểm tra metadata trong pipeline CI/CD. |
11. Những lưu ý về bảo mật và tuân thủ pháp luật
- Bảo mật dữ liệu cá nhân: Thông tin tác giả có thể là dữ liệu cá nhân (PII). Khi thu thập, lưu trữ, hoặc chia sẻ thông tin này, phải tuân thủ các quy định như GDPR, CCPA, hoặc Luật An toàn Thông tin của quốc gia.
- Quyền truy cập: Chỉ cho phép người có quyền (admin, auditor) thực hiện trích xuất metadata. Sử dụng Group Policy hoặc ACL để hạn chế truy cập.
- Lưu trữ báo cáo: Mã hoá file báo cáo (AES‑256) khi lưu trữ trên đám mây hoặc server chia sẻ.
- Xóa metadata khi cần: Khi chia sẻ file với bên ngoài, cân nhắc xóa hoặc làm mờ các trường như Author, Company để bảo vệ thông tin nội bộ.
12. Kết luận
Việc kiểm tra tác giả của file Excel không chỉ là một thao tác kỹ thuật đơn giản mà còn là một phần quan trọng trong quản trị dữ liệu, bảo mật và tuân thủ quy trình. Bằng cách nắm vững các phương pháp:
- Sử dụng giao diện Excel hoặc Windows Explorer cho nhu cầu nhanh.
- Áp dụng PowerShell hoặc Python để tự động hoá trên quy mô lớn.
- Dùng
exiftoolcho giải pháp đa nền tảng và mạnh mẽ. - Hiểu cấu trúc OpenXML để có thể chỉnh sửa trực tiếp khi cần.
Bạn sẽ có một bộ công cụ toàn diện để xác định, ghi nhận và quản lý tác giả của mọi file Excel trong môi trường làm việc. Đừng quên luôn bảo vệ metadata khi chia sẻ tài liệu ra bên ngoài và định kỳ audit để duy trì tính toàn vẹn của hệ thống tài liệu.
Chúc bạn thành công trong việc triển khai và duy trì quy trình kiểm tra tác giả file Excel!

Tiến sĩ Lê Thống Nhất sinh năm 1955 tại Nghệ An, là nhà giáo, nhà báo và doanh nhân trong lĩnh vực giáo dục. Ông từng giảng dạy Toán học tại Trường THPT Chuyên Phan Bội Châu và đảm nhiệm nhiều vai trò trong ngành giáo dục, từ viết sách, biên soạn tài liệu đến sáng lập các dự án hỗ trợ học tập trực tuyến.
Ông là người sáng lập BigSchool – nền tảng giáo dục trực tuyến kết nối giáo viên và học sinh cả nước. Ngoài ra, ông còn nổi tiếng với vai trò tác giả, diễn giả truyền cảm hứng và khách mời trên nhiều chương trình truyền hình, trong đó có “Ai là triệu phú” trên truyền hình VTV.
Trong suốt sự nghiệp, Tiến sĩ Lê Thống Nhất đã nhận nhiều giải thưởng giáo dục và được biết đến như một người luôn đổi mới, ứng dụng công nghệ vào dạy và học, góp phần lan tỏa tri thức và niềm say mê học tập cho thế hệ trẻ.
