Django DateField中Xlswriter的输出不正确

时间:2019-05-20 11:14:21

标签: python django python-3.x django-2.2

我使用xlsxwriter包从django项目(完全从我的模型中)获取excel输出。 这些是我的字段:

date1 = models.DateField(default=datetime.date.today)
date2 = models.DateField(null=True,blank=True)

所有字段的输出已完全正确地嵌入到Excel中,唯一的问题是DateField的字段未正确输出。这些字段的输出:

43603

我该如何解决该问题?

1 个答案:

答案 0 :(得分:1)

我终于找到了答案! 我阅读了有关xlsxwriter的更多信息,并且还阅读了this文档。写在这里:

  

Excel中的日期和时间用实数表示,例如   数字41275.5代表“ 2013年1月1日下午12:00”。

     

数字的整数部分存储自   纪元和小数部分存储一天的百分比。

最后是答案:

  

要将数字显示为日期,必须应用Excel数字格式   

以下是一些示例:

import xlsxwriter    
workbook = xlsxwriter.Workbook('date_examples.xlsx')
worksheet = workbook.add_worksheet()

# Widen column A for extra visibility.
worksheet.set_column('A:A', 30)

# A number to convert to a date.
number = 41333.5

# Write it as a number without formatting.
worksheet.write('A1', number)                # 41333.5

format2 = workbook.add_format({'num_format': 'dd/mm/yy'})
worksheet.write('A2', number, format2)       # 28/02/13

format3 = workbook.add_format({'num_format': 'mm/dd/yy'})
worksheet.write('A3', number, format3)       # 02/28/13


workbook.close()