如何解决如何在Excel工作簿上更新单元格并打印新值?
我有一个Excel电子表格,该电子表格在列D
的单元格上具有引用单元格F3 - F5
的公式。我需要通过python更新单元格F3-F5
,刷新列D
上的公式,并打印更新后的值。由于我需要保留工作簿上的所有公式,但需要打印值而不是公式,因此,我认为解决此问题的最佳方法是在更新单元格后复制工作簿。但是,就我的代码而言,我的打印语句的输出为None
。当我通过excel打开新工作簿时,D
列中的单元格被填充,因此我不确定当前的方法是否以某种方式破坏了我的工作簿。
from openpyxl import load_workbook
def main():
xl_path = r'old_wb.xlsx'
output = r'new_wb.xlsx'
# sw_name = input('Enter Switch Name:')
# time_zone = input('Enter the time zone')
# time_offset = input('Enter the time offset')
wb = load_workbook(filename=xl_path)
ws = wb['Sheet1']
ws['F3'] = 'IL-1234'
wb.save(output)
new_wb = load_workbook(filename=output,data_only=True)
new_ws = new_wb['Sheet1']
for row in range(3,201):
val = new_ws.cell(row=row,column=4).value
print(val)
if __name__ == '__main__':
main()
有没有更好的方法可以实现我的目标?也许是一种解决方案,我不必创建新的工作簿,但可以在更新单元格后刷新公式结果?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。