代码如下:
from openpyxl.styles import Font
import openpyxl
from openpyxl.utils import get_column_letter,column_index_from_string
import sys
def main():
#从第N行开始插入
N=int(sys.argv[1])
#插入多少行
M=int(sys.argv[2])
lujin=sys.argv[3]
print(type(lujin))
print(lujin)
wb=openpyxl.load_workbook(lujin)
sheet =wb['Sheet1']
maxcolumn=sheet.max_column
for j in range(int(maxcolumn)):
list2=list(sheet.columns)[j]
letter=get_column_letter(j+1)
mydict={}
for cell in list2:
rowdata=cell.row
va=cell.value
mydict[rowdata]=va
for i in range(len(list2)+M+1):
if i>N+M:
sheet[letter+str(i)].value=mydict[i-M]
if N+M>=i>N:
sheet[letter+str(i)].value=''
j=j+1
wb.save('test_copy.xlsx')
if __name__=='__main__':
main()
执行示例:
原excel文档:
执行后的excel文档: