You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用xlsxWriter导出日期:如何让Excel识别为日期格式(无需VBA)

解决XlsxWriter导出日期字符串被Excel识别为常规格式的问题

你遇到的问题核心在于:当前代码是把日期作为纯字符串写入Excel的,Excel自然会将其识别为常规文本格式,而非可排序的日期类型。不用VBA的话,我们可以通过让XlsxWriter明确写入日期类型数据并指定日期格式来解决,具体方案如下:

步骤说明与修改后的代码

我们需要先将字符串格式的日期转换为Python的datetime对象,再使用XlsxWriter的write_datetime方法写入,同时为单元格设置对应的日期显示格式:

import xlsxwriter
from datetime import datetime

workbook = xlsxwriter.Workbook('C:/test.xlsx')
worksheet = workbook.add_worksheet("Table 1")

# 创建匹配你需求的日期显示格式(mm/dd/yyyy)
date_format = workbook.add_format({'num_format': 'mm/dd/yyyy'})

dates_array = ["02/12/1999", "04/12/2009", "11/02/2019"]

row = 0
column = 0
for item in dates_array:
    # 将字符串日期解析为datetime对象
    date_obj = datetime.strptime(item, '%m/%d/%Y')
    # 写入日期并应用格式
    worksheet.write_datetime(row, column, date_obj, date_format)
    row += 1

workbook.close()

为什么这样有效?

  • 转换为datetime对象:Python的datetime类型会被XlsxWriter识别为日期数据,写入Excel时会存储为Excel的日期序列号(而非纯文本),这是Excel能识别为日期类型的核心。
  • 指定日期格式:通过add_format创建的格式,让Excel以你需要的mm/dd/yyyy样式显示日期,同时保留日期类型的特性(支持排序、筛选、日期计算等)。

导出后你可以验证:右键单元格查看格式,会显示为「日期」类型,此时就能正常按日期排序了。

内容的提问来源于stack exchange,提问作者Menachem

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 08:32:37