excel表格怎么修改创建时间(图文)
Excel表格的创建时间可以通过多种方式进行修改,包括修改文件系统时间戳和文档内部属性。以下是详细方法:
Python 脚本示例:
修改文件系统时间戳
Windows 系统
方法一:PowerShell(推荐)
powershell
# 修改 Excel 文件的创建时间和修改时间 $excelFile = Get-Item "C:\path\to\your\file.xlsx" $excelFile.CreationTime = "2024-01-01 10:00:00" # 创建时间 $excelFile.LastWriteTime = "2024-01-01 10:00:00" # 修改时间方法二:CMD 命令
cmd
# 需要安装 touch 工具 touch -t 202401011000 file.xlsxLinux/macOS 系统
bash
# 使用 touch 命令修改时间戳 touch -t 202401011000 file.xlsx修改 Excel 文档内部属性
方法一:使用 Excel 内置功能
- 打开 Excel 文件
- 点击 文件 → 信息
- 在右侧属性区域,点击 显示所有属性
- 可以查看和修改部分文档属性
方法二:通过文档属性对话框
- 在 Excel 中按 Alt + F11 打开 VBA 编辑器
- 插入模块并运行以下代码:
vba
Sub ModifyDocumentProperties() ' 修改文档属性 ThisWorkbook.BuiltinDocumentProperties("Creation Date").Value = "2024-01-01" ThisWorkbook.BuiltinDocumentProperties("Last Save Time").Value = Now() MsgBox "文档属性已更新" End Sub方法三:使用 Python 脚本(推荐)
首先安装必要的库:bash
pip install openpyxl python-docxpython
from openpyxl import load_workbook import os import time from datetime import datetime def modify_excel_creation_time(file_path, new_date=None): """修改 Excel 文件的创建时间和文档属性""" if new_date is None: new_date = datetime.now() # 加载工作簿 wb = load_workbook(file_path) # 修改文档属性 props = wb.properties props.creator = "Your Name" props.created = new_date props.modified = new_date # 保存文件 wb.save(file_path) # 同时修改文件系统时间戳 timestamp = new_date.timestamp() os.utime(file_path, (timestamp, timestamp)) print(f"已修改文件 {file_path} 的创建时间和文档属性") # 使用示例 # new_date = datetime(2024, 1, 1, 10, 0, 0) # modify_excel_creation_time("example.xlsx", new_date)方法四:使用 pandas(适用于 .xlsx 文件)
python
import pandas as pd from openpyxl import load_workbook import os from datetime import datetime def modify_excel_with_pandas(file_path, new_date=None): """使用 pandas 读取并保存 Excel,然后修改时间""" if new_date is None: new_date = datetime.now() # 读取 Excel 文件 xl_file = pd.ExcelFile(file_path) # 创建 writer 对象 with pd.ExcelWriter(file_path, engine='openpyxl') as writer: writer.book = load_workbook(file_path) writer.sheets = {ws.title: ws for ws in writer.book.worksheets} # 重新写入每个工作表 for sheet_name in xl_file.sheet_names: df = pd.read_excel(file_path, sheet_name=sheet_name) df.to_excel(writer, sheet_name=sheet_name, index=False) # 修改文件系统时间戳 timestamp = new_date.timestamp() os.utime(file_path, (timestamp, timestamp)) # 使用示例 # modify_excel_with_pandas("example.xlsx")批量修改多个 Excel 文件
PowerShell 脚本
powershell
function Update-ExcelFilesTimestamp { param( [string]$FolderPath, [datetime]$NewTime = (Get-Date) ) Get-ChildItem -Path $FolderPath -Include *.xlsx,*.xls -Recurse | ForEach-Object { $_.CreationTime = $NewTime $_.LastWriteTime = $NewTime Write-Host "Updated: $($_.Name)" } } # 使用示例 # Update-ExcelFilesTimestamp -FolderPath "C:\ExcelFiles" -NewTime (Get-Date "2024-01-01")Python 批量处理
python
import os from pathlib import Path from openpyxl import load_workbook from datetime import datetime def batch_modify_excel_files(folder_path, new_date=None): """批量修改文件夹中所有 Excel 文件的时间""" if new_date is None: new_date = datetime.now() excel_extensions = ['.xlsx', '.xls', '.xlsm'] for file_path in Path(folder_path).rglob('*'): if file_path.suffix.lower() in excel_extensions: try: # 修改文档属性 wb = load_workbook(file_path) props = wb.properties props.created = new_date props.modified = new_date wb.save(file_path) # 修改文件系统时间戳 timestamp = new_date.timestamp() os.utime(file_path, (timestamp, timestamp)) print(f"已修改: {file_path}") except Exception as e: print(f"修改失败 {file_path}: {e}") # 使用示例 # batch_modify_excel_files("/path/to/excel/files")使用第三方工具
ExifTool(强大命令行工具)
bash
# 安装 ExifTool 后使用 exiftool -createdate="2024:01:01 10:00:00" file.xlsx exiftool -modifydate="2024:01:01 10:00:00" file.xlsx # 批量处理 exiftool -createdate="2024:01:01 10:00:00" *.xlsx验证修改结果
查看文件属性
powershell
# PowerShell 查看详细信息 Get-Item "file.xlsx" | Select-Object Name, CreationTime, LastWriteTimebash
# Linux/macOS 查看 stat file.xlsx ls -l file.xlsx注意事项
- 备份文件:修改前务必备份原始文件
- 权限问题:确保有足够权限修改文件
- 格式兼容性:不同 Excel 版本可能对属性支持不同
- VBA 宏:包含宏的文件 (.xlsm) 需要特别处理
- 云同步:如果文件在云同步文件夹中,修改可能触发同步

更新时间:2025-12-17 09:46:40
上一篇:修改文件不改变修改时间(图文)
