2 回答

TA貢獻(xiàn)1843條經(jīng)驗(yàn) 獲得超7個(gè)贊
您可以move_sheet(sheet, offset=0)為此使用方法。這里的偏移量計(jì)算為“當(dāng)前工作表索引”+偏移量。復(fù)制工作表會(huì)將工作表添加到工作簿的最后一個(gè)。所以你需要給負(fù)值才能將工作表移動(dòng)到索引 0。
from openpyxl import load_workbook
wb = load_workbook("text.xlsx")
ws = wb.copy_worksheet(wb["sample"])
ws.title = "NewNameForCopiedSheet"
wb.move_sheet("NewNameForCopiedSheet", -(len(wb.sheetnames)-1))

TA貢獻(xiàn)1841條經(jīng)驗(yàn) 獲得超3個(gè)贊
我正在發(fā)布一個(gè)例子
wb._sheets 是你用來(lái)控制標(biāo)簽/表格順序的東西。獲取要重新排列的工作表位置并修改具有新位置的工作表列表。
from openpyxl import Workbook
wb=Workbook()
# wb.create_sheet("Sheet")
wb.create_sheet("Sheet2")
wb.create_sheet("Sheet3")
wb.create_sheet("SheetA")
wb.create_sheet("ASheet")
wb.create_sheet("blank")
wb.save('book_original.xlsx')
blank_sheet_position = wb.worksheets.index(wb['blank'']) #get position of new sheet
blank_sheet_new_position = 0 #position where you want to move
sheets = wb._sheets.copy()
sheets.insert(blan_sheet_new_position, sheets.pop(blank_sheet_position))) #modifying the sheets list
wb._sheets = sheets
wb.save('book_myorder.xlsx')
添加回答
舉報(bào)