Xlwings:date参数转换

在Excel单元格中,我调用函数fff(DATE(2001,1,1))。 要接收date参数,我使用(xlwings 0.10.0)下面的代码:

@xw.func @xw.arg('req_date', dates=datetime.date) # I also tried datetime.datetime def fff(req_date): print req_date 

只打印一个数字,而不是date时间对象。 我通过打电话解决了这个问题

 req_date = datetime.datetime(1899, 12, 30) + datetime.timedelta(days=req_date) 

但是我想知道我做了什么错误的xlwings方式?!

如果Excel中的单元格被格式化为Date,则xlwings只执行自动转换为datetime对象。 也就是说,如果将=DATE(2001,1,1)放入一个单元格中,然后在另一个单元格中写入=fff('A1') ,它将按照您的预期工作(假设date公式在A1中)。