在openpyxl中,可以使用value
属性来仅将值而不是公式复制到另一个工作簿中。下面是一个完整的示例代码:
from openpyxl import load_workbook
from openpyxl.utils import get_column_letter
# 打开源工作簿
source_workbook = load_workbook('source.xlsx')
source_sheet = source_workbook.active
# 创建目标工作簿
target_workbook = Workbook()
target_sheet = target_workbook.active
# 遍历源工作簿的单元格
for row in source_sheet.iter_rows():
for cell in row:
# 获取单元格的值
value = cell.value
# 获取单元格的位置
column_letter = get_column_letter(cell.column)
row_number = cell.row
# 在目标工作簿中写入值
target_sheet[column_letter + str(row_number)].value = value
# 保存目标工作簿
target_workbook.save('target.xlsx')
在这个示例中,我们首先使用load_workbook
函数打开源工作簿,并获取源工作簿的活动工作表。然后,我们创建一个新的目标工作簿,并获取目标工作簿的活动工作表。
接下来,我们使用嵌套的循环遍历源工作簿的所有单元格。对于每个单元格,我们使用value
属性获取其值,并使用get_column_letter
函数获取其列字母表示。然后,我们在目标工作簿的对应位置写入该值。
最后,我们使用save
方法保存目标工作簿到一个新的文件中(这里命名为'target.xlsx')。
这样,我们就成功地将源工作簿中的值复制到了目标工作簿中,而不包含任何公式。
领取专属 10元无门槛券
手把手带您无忧上云