import openpyxl
import datetime
#设置字体,对齐方式,边框的样式,边框
from openpyxl.styles import Font,Side,Border,Alignment
#设置字体样式
font1=Font(name='宋体',size=20,bold=True,color='ff0000')
font2=Font(name='宋体',size=20,bold=True)
font3=Font(name='宋体',size=14,bold=False)
font4=Font(name='Times New Roman',size=12,bold=False)
#设置对齐方式
alignment=Alignment(horizontal='center',vertical='center',wrap_text=True)
#设置线性
side=Side(style='thick',color='000000')
#边框
border=Border(left=side,right=side,top=side,bottom=side)
#选择需要缩进的代码块
'''
Tab :集体向右缩进
Shift + Tab :集体向左回缩
'''
#加载Excel文件
workbook=openpyxl.load_workbook(r'C:\Users\hff\Desktop\大班.xlsx')
#指定工作表
sheet=workbook['Sheet1']
#获取指定单元格的值
a1_value=sheet['A1'].value
h2_value=datetime.date(2021, 12, 20)
#print(h2_value)
#获取指定行
rows=sheet[3]
lst_value=[]
#遍历元组得到每一个单元格
for cell in rows:
lst_value.append(cell.value) #获取第三行的值
#将表头部分写入新的Excel文件中
for i in range(4,34):
#标题
write_workbook=openpyxl.Workbook()#创建Excel
write_sheet=write_workbook.active#获取当前活动的表
#合并单元格
write_sheet.merge_cells(start_row=1,end_row=1,start_column=1,end_column=10)
write_sheet.merge_cells(start_row=2,end_row=2,start_column=8,end_column=10)
#设置行高
write_sheet.row_dimensions[1].height=25
write_sheet['A1']=a1_value
write_sheet["A1"].font=font2
write_sheet["A1"].alignment=alignment
#第二行
write_sheet['H2']=h2_value
write_sheet["H2"].font=font4
write_sheet["H2"].alignment=alignment
#第三行
write_sheet.append(lst_value)
three_rows=write_sheet[3]
for cell in three_rows:
cell.font=font3
cell.alignment = alignment
cell.border=border
write_sheet.row_dimensions[3].height=20
#设置列宽
thr_rows=write_sheet[3]
for col in thr_rows:
#print(col.column_letter)#获取列的字母
write_sheet.column_dimensions[col.column_letter].width=10
#添加数据
write_sheet["A4"].value=sheet['A'+str(i)].value
write_sheet["B4"].value=sheet['B'+str(i)].value
write_sheet["C4"].value=sheet['C'+str(i)].value
write_sheet["D4"].value=sheet['D'+str(i)].value
write_sheet["E4"].value=sheet['E'+str(i)].value
write_sheet["F4"].value=sheet['F'+str(i)].value
write_sheet["G4"].value=sheet['G'+str(i)].value
write_sheet["H4"].value=sheet['H'+str(i)].value
write_sheet["I4"].value=sheet['I'+str(i)].value
write_sheet["J4"].value='=SUM(D4:I4)'
#居中
for_row=write_sheet[4]
for cell in for_row:
cell.alignment=alignment
cell.border=border
#保存
write_workbook.save('C:\\Users\\hff\\Desktop\\成绩单\\'+str(write_sheet["C4"].value)+write_sheet["B4"].value+'.xlsx')
|