Python 3.x 使用python将公式添加到excel电子表格

Python 3.x 使用python将公式添加到excel电子表格,python-3.x,excel-formula,xlsxwriter,Python 3.x,Excel Formula,Xlsxwriter,我正在尝试使用python将公式插入excel电子表格。 公式示例如下: =VLOOKUP(B3 |“结算信息”!$B$2:$R$2199 | 17 |假) =SUMIFS(“付款和费用”!$I$2:$I$6445 |“付款和费用”!$B$2:$B$6445 |摘要!$B3) =+E3-F3-G3-I3 =如果(和(I3>0 | I3-N3>=-0.1 | I3-N3您可以使用XlsxWriter创建Excel可以处理的任何公式。但是,您需要注意公式的格式,以确保它与Excel的美国版本(这是

我正在尝试使用python将公式插入excel电子表格。 公式示例如下:

  • =VLOOKUP(B3 |“结算信息”!$B$2:$R$2199 | 17 |假)
  • =SUMIFS(“付款和费用”!$I$2:$I$6445 |“付款和费用”!$B$2:$B$6445 |摘要!$B3)
  • =+E3-F3-G3-I3

  • =如果(和(I3>0 | I3-N3>=-0.1 | I3-N3您可以使用XlsxWriter创建Excel可以处理的任何公式。但是,您需要注意公式的格式,以确保它与Excel的美国版本(这是存储公式的默认格式)匹配

    因此,如果使用逗号而不是管道,则公式可能会按预期工作:

    =VLOOKUP(B3,"Settlement Info"!$B$2:$R$2199,17,FALSE)
    =SUMIFS("Payment and Fees"!$I$2:$I$6445,"Payment and Fees"!$B$2:$B$6445,Summary!$B3)
    =IF(AND(I3>0,I3-N3>=-0.1|I3-N3<=0.1),"Yes","No")
    
    请参阅上XlsxWriter文档的此部分

    与更新的问题相关的更新:

    公式仍有错误。您需要使用单引号而不是双引号。您还需要为公式添加另一个要引用的工作表。如下所示:

    从xlsxwriter.workbook导入工作簿
    工作簿=工作簿('test.xlsx')
    工作表=工作簿。添加工作表(“摘要”)
    工作表。填写公式('A2',“=VLOOKUP(B3,'结算信息'!$B$2:$R$2199,17,FALSE)”)
    工作簿.添加工作表(“结算信息”)
    工作簿.关闭()
    
    Excel中仍然存在一个#N/A错误,但这与VLOOKUP范围内没有数据有关:

    输出:


    我试着换成逗号,结果类似,我更新了原始帖子的更多细节。谢谢,
    =VLOOKUP(B3,"Settlement Info"!$B$2:$R$2199,17,FALSE)
    =SUMIFS("Payment and Fees"!$I$2:$I$6445,"Payment and Fees"!$B$2:$B$6445,Summary!$B3)
    =IF(AND(I3>0,I3-N3>=-0.1|I3-N3<=0.1),"Yes","No")
    
    =+E3-F3-G3-I3