怎样在不打开工作簿A的情况下直接读取工作簿Asheet1的A1单元格到C10单元格的值并且把读取到的值复制放到工作簿C的sheet1的A1到c10位置
时间: 2024-02-19 16:58:52 浏览: 61
要在不打开工作簿A的情况下读取其值,你可以使用openpyxl的`load_workbook`函数的`read_only`参数来实现只读模式,从而不会打开工作簿的写入权限。以下是修改后的代码示例:
```python
import openpyxl
# 打开工作簿A以只读模式
wb_a = openpyxl.load_workbook('工作簿A.xlsx', read_only=True)
# 选择工作簿A的sheet1
ws_a = wb_a['Sheet1']
# 读取A1到C10的值
values = []
for row in ws_a['A1:C10']:
for cell in row:
value = cell.value
values.append(value)
# 关闭工作簿A
wb_a.close()
# 打开工作簿C
wb_c = openpyxl.load_workbook('工作簿C.xlsx')
# 选择工作簿C的sheet1
ws_c = wb_c['Sheet1']
# 将读取到的值复制到A1到C10的位置
index = 0
for row in ws_c.iter_rows(min_row=1, max_row=10, min_col=1, max_col=3):
for cell in row:
cell.value = values[index]
index += 1
# 保存工作簿C
wb_c.save('工作簿C.xlsx')
# 关闭工作簿C
wb_c.close()
```
在这个修改后的代码示例中,我们只是在打开工作簿A时添加了一个`read_only=True`的参数来实现只读模式。这样我们就可以在不打开工作簿A的情况下读取其值了。
阅读全文