(python3-excel数据填充) python3-excel数据填充
用xlrd.open_workbook时,添加对应的参数formatting_info=True,就可以保留表格原有格式
import xlrd
from xlutils.copy import copy
#检查空白单元格,如果有则指出是第几行第几列,并终止程序!
def black_form(path):
data = xlrd.open_workbook(path) # 读取表格
sheet = data.sheets()[0] # 获取数据表格,选定表Sheet1
print(‘提示信息:空白单元格检查’)
list = 0
for i in range(0, sheet.nrows): # 行,遍历所有行信息
if i >= 1: # 从第一行开始检查
# j代表列,检查第i行第j列是否为空单元格
j = 2
if sheet.cell(i, j).value == “”:
print(‘第 %s 行第 %s 列是空单元格’ %(str(i), str(j)))
list += 1
j = 7
if sheet.cell(i, j).value == “”:
print(‘第 %s 行第 %s 列是空单元格’ % (str(i), str(j)))
list += 1
j = 9
if sheet.cell(i, j).value == “”:
print(‘第 %s 行第 %s 列是空单元格’ %(str(i), str(j)))
list += 1
j = 11
if sheet.cell(i, j).value == “”:
print(‘第 %s 行第 %s 列是空单元格’ %(str(i), str(j)))
list += 1
j = 13
if sheet.cell(i, j).value == “”:
print(‘第 %s 行第 %s 列是空单元格’ % (str(i), str(j)))
list += 1
if list != 0:
print(‘共%d个空白单元格,程序停止执行,请填写空白单元格’ %list)
exit() # 如果有空白单元格,程序终止执行
excel - excel
def excel_copy(inpath, outpath):
black_form(inpath) #检查空白单元格
data = xlrd.open_workbook(inpath) #读取表格
sheet1 = data.sheets()[0] # 获取数据表格,选定表Sheet1
print('开始写入表格信息:')
for i in range(0, sheet1.nrows): #行,遍历所有行信息
#if sheet1.row_values(0)[2] == '总成号':
# print(str(sheet1.row_values(i)[2])) # 提示Z信息,第一列
old_excel = xlrd.open_workbook(outpath, formatting_info=True) # 打开输出表格母本
new_excel = copy(old_excel) # 新建输出表格
new_excel.save(r'C:\Users\qian.zhang4\Desktop\excel工具\复制\\' + '母本' + '.xls') # 保存输出表格母本
ns = new_excel.get_sheet(0) #sheet1即封面
ws = new_excel.get_sheet(1) #sheet2即产品芯号配置输入以及追溯信息表
if i >= 1:
# 写入封面
ns.write(4, 1, sheet1.row_values(i)[2]) #总成号
#写入产品芯号配置输入以及追溯信息表.关联ERP所在列
ws.write(3, 13, sheet1.row_values(i)[2]) # 总成号
ws.write(4, 13, sheet1.row_values(i)[7]) # 软件ERP-MPU tgz软件包写入825BN Linux系统-软件注入文件所在行,
ws.write(5, 13, sheet1.row_values(i)[9]) # 软件ERP-sh文件写入MPU 注入用脚本文件所在行
ws.write(6, 13, sheet1.row_values(i)[13]) # 软件ERP-MCU SCT软件包写入MCU SCT-软件注入文件所在行
ws.write(7, 13, sheet1.row_values(i)[11]) # 软件ERP-MCU BIN文件写入MCU BIN-软件注入文件所在行
a = i
huzhuPath = r'C:\Users\qian.zhang4\Desktop\excel工具\复制\\' + str(a) + sheet1.row_values(i)[0] + '.xls' # 构建每一个独立的excel文件
new_excel.save(huzhuPath)
if name == “main”:
excel_copy(‘C:\Users\qian.zhang4\Desktop\excel工具\A13&A18-Y软件ERP.xls’, ‘C:\Users\qian.zhang4\Desktop\excel工具\AP200100_产品芯片配置输入_ERP600602865.xls’)
print(‘excel - excel数据填充完成!’)