#方法一思路:先复制前N 行的内容写入到新表格;②将N行之后内容行号加上M后,再写入新的电子表格 import openpyxl from openpyxl.utils import get_column_letter def blankRowInsert(n,m): wb = openpyxl.load_workbook("style.xlsx")#原始表格 wb2 = openpyxl.Workbook()#插入空白行后写入的表格 sheet = wb.active sheet2 = wb2.active #拷贝前N行的内容 for i in range(1, n): for j in range(1, sheet.max_column+1): sheet2[get_column_letter(j)+str(i)] = sheet[get_column_letter(j)+str(i)].value #剩下的行,行号加上M之后,写入新的电子表格 for k in range(n, sheet.max_row+1): for v in range(1, sheet.max_column+1): sheet2[get_column_letter(v)+str(k+m)] = sheet[get_column_letter(v)+str(k)].value wb2.save("style1.xlsx") wb.close() wb2.close() print("Done") if __name__== '__main__': blankRowInsert(3, 4) #方法二思路:①先对第n行开始的内容加上M行;②清空n到m+m-1行的内容 import openpyxl from openpyxl.utils import get_column_letter def blankRowInsert(n,m): wb = openpyxl.load_workbook("style.xlsx") sheet = wb.active for i in range(sheet.max_row, n-1, -1):#此处需要从最后一行开始复制,不然前面复制的内容会把后面的内容给覆盖掉 for j in range(1, sheet.max_column+1): sheet[get_column_letter(j)+str(i+m)] = sheet[get_column_letter(j)+str(i)].value for k in range(n,m+n): for v in range(1,sheet.max_column+1): sheet[get_column_letter(v)+str(k)] = None wb.save("style2.xlsx") wb.close() print("Done") if __name__== '__main__': blankRowInsert(3, 4)
第12章 Excel插入空白行
最新推荐文章于 2024-05-12 16:35:29 发布