我一整天都在寻找解决这个问题的办法,但似乎找不到任何解决办法解决方案。我的最初的目标是通过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()