|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
求助各位大佬!
我用openpyxl的FORMULAE模块往exce里写入函数lsumproduct()时,如果在Python中指定sumproduct()的参数为确定的单元格,如sumproduct(A6,B6),可以在Excel中正常运行并计算出结果。
但我目前想不给出精确的单元格位置如A6,而用关键字匹配找到行坐标,如我找到的单元格为 ws.cell(find_row,8),代码写成 ws1.cell(find_row,8).value='=ws1.cell(find_row,7) * ws1.cell(find_row,5)' ,在Excel中无法识别find_row为哪行,只能在单元格ws1.cell(find_row,8)中显示“=ws1.cell(find_row,7) * ws1.cell(find_row,5)”,无法运行计算过程。
请问上述问题该如何解决?
本帖最后由 txxcat 于 2020-4-7 16:01 编辑
忘了需要把column和row转换成excel的表达方式,就是'B7'、'C10'一类的,通过get_column_letter可以把column值转成对于的字母,然后把row值转换成字符拼接起来就可以了,参考下面代码:
- from openpyxl.utils import get_column_letter
- ws1.cell(find_row,8).value='=%s*%s' % (get_column_letter(7)+str(find_row),get_column_letter(5)+str(find_row))
复制代码
|
|