python 写excel函数_python中的Excel公式

我一整天都在寻找解决这个问题的办法,但似乎找不到任何解决办法解决方案。我的最初的目标是通过python库找到一种使用excel自动填充的方法,但这似乎是不可能的。在

到目前为止,我已经尝试了xlwings和openpyxl来完成以下工作:在工作表中编写一个非常简单的excel公式。我知道我可以像python中的公式那样做,但是我希望打开excel的人看到公式,所以我不希望它消失。在=IF(AB41<>"";CONCATENATE(AB41;".";AC41);"")

使用openpyxl文件总是会被破坏,excel会通过删除公式来修复它。

使用xlwings我得到一个特殊的错误(见下文)。

我不明白为什么这么难。库只需将公式打印到单元格中,然后让excel进行解释。在

^{pr2}$

XLWINGS中的代码:def FLOWNREL(startcell,endcell,ws):

startrow = coordinate_from_string(startcell)[1]

endrow=coordinate_from_string(endcell)[1]

col = column_index_from_string(coordinate_from_string(startcell)[0])

for i in range(startrow, endrow + 1, 1):

cell2 = ws.range(i,col-2)

cell3 = ws.range(i,col-1)

print(i,col,cell2.get_address(False,False),cell3.get_address(False,False))

# ws.range((i,col)).value='=IF('+cell2.get_address(False,False)+'<>"";CONCATENATE('+cell2.get_address(False,False)+';".";'+cell3.get_address(False,False)+');"")'

ws.range((i,col)).value = '=IF('+cell2.get_address(False, False) + '<>"";0;"")'

print(ws.range(i,col).value)

wb = xw.Book(dir_path+"\\Input EfE.xlsx")

ws10=wb.sheets["_FlowsNRel"]

FLOWNREL("AD48","AD109",ws10)

wb.save()

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值