PS1: 晕死。。。这个方法不行,不带公式的可以这么来,有公式的数据全乱套了。。。。
PS2: wb = open(file,data_only=True) 可暂时解决,位置变动引发的数据错误。
实现过程远没有书中提供的思路那么复杂,实际使用 insert_rows()函数就可以做到了。估计写书的时候openpyxl还没有这函数。
类似的函数还有:
insert_rows()
insert_cols()
delete_rows()
delete_cols()
实践代码:
# 创建一个程序 blankRowInserter.py,它接受两个整数和一个文件名字符串作为命令行参数。
# 我们将第一个整数称为 N,第二个整数称为 M。程序应该从第 N 行开始,在电子表格中插入 M 个空行
import sys
from openpyxl import load_workbook as open
n, m, file = int(sys.argv[1]), int(sys.argv[2]), sys.argv[3]
wb = open(file, data_only=True)
sheet = wb.active
for i in range(m):
sheet.insert_rows(n)
wb.save("new"+file)