如何用Python(xlwings)实现Excel单元格值的复制粘贴?
解决xlwings复制Excel单元格值的问题
你的代码核心问题是赋值方向搞反了,另外要确保工作簿对象已正确获取。按需求,应该读取Main工作表AK2的计算值,再赋值给Output sheet的A1单元格,而非反过来操作。
xlwings中range.value默认会返回单元格的计算后结果(即使单元格含公式),刚好满足你的需求。
修正后的代码示例
import xlwings as xw # 方式1:连接已打开的Excel工作簿 wb = xw.books.active # 获取当前活动工作簿 # 方式2:通过路径打开本地Excel文件(未打开时用这个) # wb = xw.Book("你的Excel文件完整路径.xlsx") # 获取两个工作表对象 sheet_main = wb.sheets["Main"] sheet_output = wb.sheets["Output sheet"] # 把Main表AK2的值赋值给Output sheet的A1 sheet_output.range("A1").value = sheet_main.range("AK2").value # 可选:保存修改后的工作簿 # wb.save() # 可选:关闭工作簿(后台打开时需要) # wb.close()
原代码错误点说明
- 原代码
sheet2.range('AK2').value = sheet0.range('A1')是把Output sheet的A1值赋给Main的AK2,完全和需求反向 - 若出现属性错误,大概率是
workbook对象未正确定义(比如没先获取工作簿就直接调用),上面的代码先通过xw.books.active或xw.Book()获取了合法的工作簿对象,可避免该问题
内容的提问来源于stack exchange,提问作者mrindira
相关产品推荐
相关产品推荐

