我的工作簿有6张纸。最后3张是一堆公式,我目前手动将它们复制并粘贴到前3张中。我使用wb.copy_worksheet()制作副本,并将工作簿加载为data_only = True。然而,当我保存时,由于将其加载为data_only,所有的公式都消失了。有没有一种方法可以复制数值但保留公式?工作表太大,无法逐个单元格查看。
下面是我的代码:
import openpyxl
wb = openpyxl.load_workbook("symbols.xlsx", data_only=True)
ws = wb.get_sheet_names()
print (ws)
Value = ws[0:3] #set equal to first 3 sheets
BB = ws[3:7] #set equal to last 3 sheets
for s in range(0, len(Value)):
CopyBB = wb.copy_worksheet(wb[BB[s]]) #copy from bb sheet
CopyBB.title = Value[s]
myorder = [6, 7, 8, 3, 4, 5, 0, 1, 2] #this is to reorder the sheets that got copied.
wb._sheets =[wb._sheets[i] for i in myorder]
wb.remove_sheet(wb.worksheets[8])
wb.remove_sheet(wb.worksheets[7])
wb.remove_sheet(wb.worksheets[6])
wb.worksheets[0].title = "Securities Values"
wb.worksheets[1].title = "Indices Values"
wb.worksheets[2].title = "Currencies Values"
return wb.save("symbols.xlsx")发布于 2017-05-20 05:07:18
我也遇到过类似的问题。您必须使用=' MVSM ! A1 ',其中MVSM是页名,而A1是单元格值。在使用openpyxl赋值单元格值时使用它。
https://stackoverflow.com/questions/40881496
复制相似问题