问题描述:办公电脑5S体检小程序如何实现
编程语言:python
编程环境:VS Code
下载见站:领越科创 https://lingyuetech.top
核心代码:
def folderselected():
pathcwd2 = os.getcwd()
foldername=filedialog.askdirectory(title='选择目标文件夹!', initialdir=pathcwd2)
foldername2=os.path.basename(foldername)
global GV1
GV1=foldername
Label(root, text=foldername2,anchor="w",font=",18,'bold'").place(x=230, y=65,width=350, height=50)
def examresult():
path=GV1
FilesArray=[]
Visitdate=[]
Filetotal=0
Filetotal2=0
BadFilename=[]
BadArray=[]
Badtotal=0
dxx=0
dxc=[]
Baddxc=[]
SusfileArray=[]
SusfilepathArray=[]
Susfiletotal=0
SusdirnameArray=[]
SusdirpathArray=[]
Susdirtotal=0
BadArrayFolder=[]
SusfilepathArrayFolder=[]
SusdirpathArrayFolder=[]
for rootx, dirs, files in os.walk(path):
for file in files:
file_path = os.path.join(rootx, file)
if "长存" not in file_path:
# 获取文件访问时间
accesstime=os.path.getatime(file_path) # a 访问,m 修改
Visitdate.append(accesstime)
FilesArray.append(file_path)
dx=datetime.now().timestamp()
dxx=round((dx-Visitdate[Filetotal])/ (3600 * 24))
dxc.append(dxx)
Filetotal=Filetotal+1
if dxx>=30: # 30天为界
BadFilename.append(file)
BadArray.append(file_path)
BadArrayFolder.append(rootx)
Baddxc.append(dxx)
Badtotal=Badtotal+1
if file.startswith("新建") or file.startswith("New") :
SusfileArray.append(file)
SusfilepathArray.append(file_path)
SusfilepathArrayFolder.append(rootx)
Susfiletotal=Susfiletotal+1
for subdir in dirs:
if "长存" not in subdir:
if subdir.startswith("新建") or subdir.startswith("New") :
SusdirnameArray.append(subdir)
SusdirpathArray.append(os.path.join(rootx, subdir))
SusdirpathArrayFolder.append(rootx)
Susdirtotal=Susdirtotal+1
app=xw.App(visible=True,add_book=False) # 原文件
app.display_alerts=False # 关闭警告信息,提升运行速度
#app.screen_updating=False
ExamFileName="5S Exam Result Simplifed_"+str(d1)+".xlsx"
src_workbook=app.books.add()
src_worksheet=src_workbook.sheets[0]
# 第一部分的理论内容
src_worksheet.range('B1').api.HorizontalAlignment=-4131 #靠左对齐
src_worksheet.range('B1').api.Font.Name='微软雅黑'
src_worksheet.range('B1').api.Font.Size=28
src_worksheet.range("B1").value="领越科创工作电脑文件5S体检结果"
src_worksheet.range('B2').api.Font.Name='微软雅黑'
src_worksheet.range('B2').api.Font.Size=18
src_worksheet.range("B2").value="领越科创提醒您工作电脑文件夹管理五大原则 :"
src_worksheet.range("B3").value="所有工作文件放在一个工作目录下,便于拷贝和备份。切勿存放在其它地方如桌面。"
src_worksheet.range("B4").value="编号、分类、分层次排列子文件夹,常用文件夹编号靠前放置。"
src_worksheet.range("B5").value="文件和文件夹命名要简单明确,切合内容。对于有“新建”或“New”字样的文件或文件夹要及时更名。"
src_worksheet.range("B6").value="无用文件即时处理,如删除、归档等。对于长期存放的文件或文件夹,请在它们的名称中标注“长存”字样。"
src_worksheet.range("B7").value="养成定期5S体检,消除干扰文件,提升效率的好习惯,如每季度一次。"
src_worksheet.range('A3:A7').api.HorizontalAlignment=-4108 #居中
src_worksheet.range("A3").value="1"
src_worksheet.range("A4").value="2"
src_worksheet.range("A5").value="3"
src_worksheet.range("A6").value="4"
src_worksheet.range("A7").value="5"
src_worksheet.range('A10:A15').api.HorizontalAlignment=-4108 #居中
src_worksheet.range("A10").value="1"
src_worksheet.range("A11").value="2"
src_worksheet.range("A12").value="3"
src_worksheet.range("A13").value="4"
src_worksheet.range("A14").value="5"
src_worksheet.range("A15").value="6"
# 第二部分的评估结论
src_worksheet.range('B9').api.HorizontalAlignment=-4131 #靠左对齐
src_worksheet.range('B9').api.Font.Name='微软雅黑'
src_worksheet.range('B9').api.Font.Size=18
src_worksheet.range("B9").value="本次5S结果如下 :"
if Filetotal==0:
Filetotal2=1
else:
Filetotal2=Filetotal
defen=round((1-Badtotal/Filetotal)*100,3)
pingyu1="不及格。过多不常用文件制约您的工作效率,请立即整改。"
pingyu2="及格。部分文件不常用,且有增长趋势,请着手整改。"
pingyu3="良好。工作文档整体状态正常,请适时整改。"
pingyu4="优良,整体状态良好,您距优秀一步之遥,请继续努力。"
pingyu5="优秀,您的文档工作状态优于80%的其他同事,请继续保持。"
if defen<60:
pingyu=pingyu1
elif defen<70:
pingyu=pingyu2
elif defen<80:
pingyu=pingyu3
elif defen<90:
pingyu=pingyu4
else:
pingyu=pingyu5
src_worksheet.range('f10:f14').api.HorizontalAlignment=-4108 #中间对齐
src_worksheet.range("B10").value="本工作文件夹共有文件个数:"
src_worksheet.range("f10").value=Filetotal
src_worksheet.range("B11").value="超过 30 天未访问的文件个数:"
src_worksheet.range("f11").value=Badtotal
src_worksheet.range("B14").value="工作文件时效性占比为:"
src_worksheet.range("f14").value=str(round((1-Badtotal/Filetotal2)*100,2))+"%"
src_worksheet.range("B12").value="建议更改名称的文件个数:"
src_worksheet.range("f12").value=Susfiletotal
src_worksheet.range("B13").value="建议更改名称的文件夹个数:"
src_worksheet.range("f13").value=Susdirtotal
src_worksheet.range("B15").value="此次体检的评级和建议是:"
src_worksheet.range("h14").value="*** 如要采取改善行动,请参考下面5S更改建议 ***"
src_worksheet.range('f14').api.Font.Bold=True
src_worksheet.range('f14').api.Font.Color= 0x00FF0000 # 颜色十六进制 红色:0x00FF0000 绿色:0x0000FF00 白色:0x00FFFFFF
src_worksheet.range('f14').api.Font.Size=14
src_worksheet.range('f15').api.HorizontalAlignment=-4131 #靠左对齐
src_worksheet.range('f15').api.Font.Name='微软雅黑'
src_worksheet.range('f15').api.Font.Bold=True
src_worksheet.range('f15').api.Font.Color= 0x000000FF # 颜色十六进制 红色:0x00FF0000 绿色:0x0000FF00 白色:0x00FFFFFF
src_worksheet.range('f15').api.Font.Size=18
src_worksheet.range("f15").value=pingyu
src_worksheet.range('B17').api.HorizontalAlignment=-4131 #靠左对齐
src_worksheet.range('B17').api.Font.Name='微软雅黑'
src_worksheet.range('B17').api.Font.Size=18
src_worksheet.range("B17").value="您的办公文档 5S整改建议如下 : (免费版本不提供改进方案,请下载付费版本)"
src_workbook.save(ExamFileName)
#src_workbook.close()
#app.quit()
root.quit()
print(showinfo(title="5S体检完成", message="体检结果在本目录下\n《5S Exam Result Simplifed.xlsx》文件"))