是否可以指定日期XFStyle而没有xlwt的确切格式?

时间:2011-06-29 16:51:57

标签: python excel xlwt

我正在使用Python-Excel xlwt创建一个空白的Excel电子表格,以填写电子表格。我想指定一定范围的单元格应该是日期格式。我正在做类似的事情:

datestyle = xlwt.XFStyle()
datestyle.num_format_str = "YYYY-MM-DD"
ws.write(row, column, "", datestyle)

但这有点过于规范。人们可能会粘贴数据,这意味着如果格式不完全匹配,那么就会出现问题。电子表格通常善于发现和理解以各种格式粘贴的日期。我希望电子表格能够在不受特定输入格式限制的情况下执行此操作。

我只是想说'这个单元格是一个日期'而不是强加格式。这可行吗?

2 个答案:

答案 0 :(得分:2)

您不能指定单元格是日期而不是格式,不能使用xlwt而不能使用其他任何格式,包括Excel本身。有两个原因:

(1)您不能指定单元格是任何类型。它是用户键入或粘贴的任何内容。您可以将其格式化为日期,但可以键入文本。

(2)“日期”不是Excel中的数据类型。所有Excel都知道的是文本,浮点数,布尔值(TRUE / FALSE),错误(#DIV / 0等)和“空白”(格式化但没有数据)。日期单元格只是一个具有日期格式的数字单元格。

一般答案“我可以用xlwt做X吗?”问题:首先尝试使用Excel / OpenOffice Calc / Gnumeric进行X.如果你不能,那么xlwt也不能。

答案 1 :(得分:1)

您指定的格式定义了日期的显示方式,但不会影响excel如何解释输入的日期。如果您的格式为YYYY-MM-DD,用户仍然可以输入5/21/2008,字符串将转换为日期值(39589),然后以指定的格式显示:“2008-01-21”< / p>