level 11
以下是我提到要求:
基于python+tkinter,编写程序,生成程序文件yw.pyc,实现如下功能:
1.程序打开时,显示如下gui界面:
2.三个文件选择按钮,分别为:
2.1 Excel文件,默认文件名为c:\tmp\遗忘曲线记忆法.xlsm
2.2 xml文件,默认文件名为"C:\Users\jjwt\Desktop\11.xml"
2.3 word文件,默认文件名为c:\tmp\认字打印.docx
3.3个功能执行按钮,分别为:
3.1功能1,按钮文字为“生成早上背”,点击后执行如下动作:
3.1.1后台打开Excel文件,工作表切换到“英语背诵计划”,
3.1.2清除B列到k列第3行(含第3行)以下所有单元格的填充色
3.1.3对B列,G列到K列第3行(含第3行)以下所有单元格中的日期值进行判断:
3.1.3.1如果日期值为当前日期的前0,1,2,4,7,15天,则该单元格填充色改为黄色
3.1.3.2如果日期值为当前日期的前0,1,2,4,7,15天,则该单元格所在行的c列填充色改为黄色
3.1.4找到C列最后一个填充色为黄色的单元格,将该单元格的内容按符号;切割成多个字符,对每个字符进行如下操作:
3.1.4.1 字符值在工作表“要背的单词”中A列找到对应的行
3.1.4.2 对该行根据字符串格式“
<item> <word>{0}</word>
<trans><![CDATA[{1}]]></trans>
<phonetic><![CDATA[[{2}]]]></phonetic>
<lanfrom><![CDATA[en]]></lanfrom>
<lanto><![CDATA[zh-CHS]]></lanto>
<tags>早上背</tags>
<progress>-1</progress></item>”生成新的字符串,其中{0}{1}{2}分别代表该行的A列,C列,B列单元格的值
3.1.4.3 用换行符连接所有生成的字符串,生成新的字符串
3.1.4.4 后台打开xml文件,用字符串替换掉<wordbook>和</wordbook>之间的部分
3.1.4.5 保存并关闭xml文件
3.1.5 弹出完成提示和完成时间(单位秒,保留两位小数)
3.2功能2,按钮文字为“生成晚上背”,点击后执行如下动作:
3.2.1后台打开Excel文件,工作表切换到“英语背诵计划”,
3.2.2清除B列到k列第3行(含第3行)以下所有单元格的填充色
3.2.3对B列,G列到K列第3行(含第3行)以下所有单元格中的日期值进行判断:
3.2.3.1如果日期值为当前日期的前0,1,2,4,7,15天,则该单元格填充色改为黄色
3.2.3.2如果日期值为当前日期的前0,1,2,4,7,15天,则该单元格所在行的c列填充色改为黄色
3.2.4找到C列所有填充色为黄色的单元格,将每个单元格的内容按符号;切割成多个字符,对每个字符进行如下操作:
3.2.4.1 字符值在工作表“要背的单词”中A列找到对应的行
3.2.4.2 对该行根据字符串格式“
<item> <word>{0}</word>
<trans><![CDATA[{1}]]></trans>
<phonetic><![CDATA[[{2}]]]></phonetic>
<lanfrom><![CDATA[en]]></lanfrom>
<lanto><![CDATA[zh-CHS]]></lanto>
<tags>晚上背</tags>
<progress>-1</progress></item>”生成新的字符串,其中{0}{1}{2}分别代表该行的A列,C列,B列单元格的值
3.2.4.3 用换行符连接所有生成的字符串,生成新的字符串
3.2.4.4 后台打开xml文件,用字符串替换掉<wordbook>和</wordbook>之间的部分
3.2.4.5 保存并关闭xml文件
3.2.5 弹出完成提示和完成时间(单位秒,保留两位小数)
3.3功能3,按钮文字为“生成打印”,点击后执行如下动作:
3.3.1后台打开Excel文件,工作表切换到“认字”,
3.3.2清除B列到k列第3行(含第3行)以下所有单元格的填充色
3.3.3对B列,G列到K列第3行(含第3行)以下所有单元格中的日期值进行判断:
3.3.3.1如果日期值为当前日期的前0,1,2,4,7,15天,则该单元格填充色改为黄色
3.3.3.2如果日期值为当前日期的前0,1,2,4,7,15天,则该单元格所在行的c列填充色改为黄色
3.3.4找到C列所有填充色为黄色的单元格,将每个单元格的内容切割成一个个汉字,一起放到一个序列里
3.3.5 后台打开workd文件,清空第一个表格里面的所有内容
3.3.6 将汉字按一个单元格一个汉字的方式,依次添加到表格中
3.3.7 保存并关闭word文件
3.3.8 弹出完成提示和完成时间(单位秒,保留两位小数)
2025年03月31日 18点03分