创建一个程序 blankRowInserter.py,它接受两个整数和一个文件名字符串作为命令行参数。我们将第一个整数称为 N,第二个整数称为 M。程序应该从第 N 行开始,在电子表格中插入 M 个空行。例如,如果这样执行程序:
python blankRowInserter.py 3 2 myProduce.xlsx
执行之前和之后的电子表格,应该如图 12-12 所示。
程序可以这样写:读入电子表格的内容,然后在写入新的电子表格时,利用 for拷贝前面 N 行。对于剩下的行,行号加上 M,写入输出的电子表格。
代码
import openpyxl, sys
wb = openpyxl.load_workbook('blankRowInserter.xlsx')
sheet = wb['Sheet1']
row = int(sys.argv[1])
addrow = int(sys.argv[2])
name = sys.argv[3]
wb1 = openpyxl.Workbook()
sheet1 = wb1['Sheet']
for i in range(1, row):
for j in range(1, sheet.max_column + 1):
sheet1.cell(row=i, column=j).value = sheet.cell(row=i, column=j).value
for i in range(row, sheet.max_row + 1):
for j in range(1, sheet.max_column + 1):
sheet1.cell(row=i+addrow, column=j).value = sheet.cell(row=i, column=j).value
wb1.save(name)