Xlwings:日期参数转换

时间:2016-09-28 19:18:42

标签: python excel xlwings

在Excel单元格中,我调用函数fff(DATE(2001,1,1))。要接收日期参数,我使用(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

只打印一个数字,而不是日期时间对象。我通过调用

解决了这个问题
req_date = datetime.datetime(1899, 12, 30)
           + datetime.timedelta(days=req_date)

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

1 个答案:

答案 0 :(得分:2)

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