Excel 无法使用 openpyxl 识别日期

Hib*_*lah 5 excel openpyxl python-3.5

我有一段代码可以将 UNIX 日期转换为标准美国日期格式。它在 Excel 中正确显示,但 Excel 无法将其识别为日期。

if str(startdate).isdigit():
    startdate = int(startdate)
    date = datetime.datetime.fromtimestamp(int(startdate)).strftime('%m/%d/%Y')
    ws4.cell(row=cell.row,column=2).value = date
    ws4.cell(row=cell.row,column=2).number_format = 'MM DD YYYY'
Run Code Online (Sandbox Code Playgroud)

知道如何让 Excel 将其视为日期而不是文本吗?

Hib*_*lah 5

我的错误是假设下面的行创建了一个日期。

date = datetime.datetime.fromtimestamp(int(startdate)).strftime('%m/%d/%Y')
Run Code Online (Sandbox Code Playgroud)

在冒险查看文档之后(对于菜鸟来说太可怕了。它变得更容易了吗?)我意识到.strftime('%m/%d/%Y')创建了一个字符串而不是日期。

我使用以下方法将该字符串转换为日期:

date = datetime.datetime.strptime(date, '%m/%d/%Y').date()
Run Code Online (Sandbox Code Playgroud)

现在 Excel 将其识别为日期。

希望这对将来的人有帮助。