• 【办公类-22-14】周计划系列(5-5)“周计划-05 周计划表格内教案部分“节日”清空改成“节日“” (2024年调整版本)Win32


    背景需求:

    本学期19周,用了近10周的时间,终于把周计划教案部分的内容补全了(把所有教案、反思的文字都撑满一个单元格),

    一、原始教案

    二、新模板内的教案

    三、手动添加文字后的样式(修改教案内容、增加提问和小结)

    目前19周的教案文字都补全,并将“过渡语”“重点提问”“小结”加粗了。

    【办公类-22-13】周计划系列(5-4)“周计划-04 周计划表格内“小结”加粗 (2024年调整版本)Win32-CSDN博客文章浏览阅读944次,点赞25次,收藏10次。【办公类-22-13】周计划系列(5-4)“周计划-04 周计划表格内“小结”加粗 (2024年调整版本)Win32https://blog.csdn.net/reasonsummer/article/details/136706722

    存在问题:

    有三周的教案中有节日(当天教案无内容)

    最终需要的样式:

    实验一:格子里是横向“XX节放假”

    AI问题询问

    1.查找所有表格的单元格的第一段段落,匹配5-10个字是否是“XX节放假”,

    2.匹配就清空这个单元格的内容

    3.然后写入“横向的XX节放假”文字,水平垂直都居中

    代码展示

    1. '''
    2. docx教案的端午节、劳动节、清明节格子里内容清除,改为“XX节放假”
    3. 作者:AI对话大师、阿夏补充
    4. 时间:2024年4月25日日
    5. '''
    6. import os
    7. from docx import Document
    8. from docx.oxml.ns import nsdecls
    9. from docx.oxml import parse_xml
    10. from docx.oxml import OxmlElement
    11. from docx.shared import Pt
    12. from docx.oxml.ns import qn
    13. from docx.enum.table import WD_CELL_VERTICAL_ALIGNMENT, WD_ALIGN_VERTICAL
    14. # from docx.enum.text import WD_PARAGRAPH_ALIGNMENT, WD_TEXT_ORIENTATION
    15. # 指定文件夹路径
    16. path = r'D:\test\02办公类\91周计划4份_2024年中4班\04 周计划'
    17. folder_path = path + r'\06加粗测试'
    18. new_path = path + r'\07节日'
    19. os.makedirs(new_path, exist_ok=True)
    20. j = ['劳动节放假', '清明节放假', '端午节放假']
    21. # 遍历文件夹下的所有文件
    22. for filename in os.listdir(folder_path):
    23. if filename.endswith('.docx'):
    24. doc_path = os.path.join(folder_path, filename)
    25. # 打开Word文档
    26. doc = Document(doc_path)
    27. # 遍历文档中的所有表格
    28. for table in doc.tables:
    29. # 遍历表格的所有行
    30. for row in table.rows:
    31. # 遍历行的所有单元格
    32. for cell in row.cells:
    33. # 提取第一行的文字
    34. first_row_text = cell.paragraphs[0].text
    35. for jj in j:
    36. # 判断是否符合条件
    37. if len(first_row_text) >= 10 and first_row_text[5:10] == jj:
    38. # 清空单元格的内容
    39. cell.text = ''
    40. # 添加新文字“劳动节放假”,设置宋体、20号字体,竖排文字
    41. # 在清空后的单元格内写入指定文字
    42. # 在清空后的单元格内写入指定文字
    43. p = cell.paragraphs[0]
    44. p.add_run(jj)
    45. run = p.runs[0]
    46. run.font.name = '宋体'
    47. run.font.size = Pt(100)
    48. run._element.rPr.rFonts.set(qn('w:eastAsia'), '宋体')
    49. # 单元格内的文字方向设置为纵向
    50. cell.vertical_alignment = WD_CELL_VERTICAL_ALIGNMENT.CENTER
    51. # 设置单元格垂直居中
    52. p.alignment = WD_ALIGN_VERTICAL.CENTER
    53. # p.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER
    54. # p.text_orientation = WD_TEXT_ORIENTATION.VERTICAL
    55. # run.orientation = WD_TEXT_ORIENTATION.VERTICAL
    56. # run.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER
    57. # # 在清空后的单元格内写入指定文字
    58. # p = cell.paragraphs[0]
    59. # p.add_run(jj)
    60. # run = p.runs[0]
    61. # run.font.name = '宋体'
    62. # run.font.size = Pt(20)
    63. # run.text = '\n'.join(jj)
    64. # # 设置单元格文字居中对齐
    65. # cell.vertical_alignment = WD_PARAGRAPH_ALIGNMENT.CENTER
    66. # 保存修改后的文档,保存在新文件夹中,保持原文件名不变
    67. new_doc_path = os.path.join(new_path, filename)
    68. doc.save(new_doc_path)

    结果展示:

    问题:

    1、文字方向是横排,不是竖排

    2、文字不能放大字号(写了PT100也不见文字变大)

    分析:

    对原来单元格文字进行清空,然后重新写入,此时是默认原字体和大小(宋体五号20磅

    后续继续问AI解决方法,待续……


     

  • 相关阅读:
    理解MySQL的会话变量、局部变量和全局变量
    匿名用户上传的Mybatis学习笔记,炸来了阿里P8,网上一片好评
    京东按关键字搜索商品 API 返回值说明
    服务器部署项目总结
    字符串5——左旋转字符串
    生产环境日志打印console.log内存溢出解决方法
    GDPU 数据结构 天码行空8
    【每日算法】回溯法求数组组合
    NRF52832蓝牙芯片详细介绍及应用方案
    联邦模块(概述,实战应用,基本原理,未来展望)
  • 原文地址:https://blog.csdn.net/reasonsummer/article/details/138201882