六、处理Word文件的实用操作

添加分页

from docx import Document doc = Document(r"C:\Users\1.docx") # 需要处理文件的位置 doc.add_page_break() #添加分页符 doc.save(r"C:\Users\2.docx") # 添加分页符后文件保存位置

插入图片

doc.add_picture(r"C:\Users\f8.jpg",width=Cm(5),height=Cm(6)) # 设置宽度、高度

添加页眉页脚,页眉添加文字或logo

from docx import Document from docx.shared import Cm, Pt from docx.enum.text import WD_ALIGN_PARAGRAPH, WD_LINE_SPACING from docx.oxml.shared import OxmlElement, qn def fix_header_img_position(doc_path, save_path, header_text, logo_path=None): # def fix_header_img_position(doc_path, save_path, header_text, right_text=None): # 页眉右侧不插入logo,改为文本 """ 调整制表位位置:让图片停在页眉右侧合理区域 """ doc = Document(doc_path) for section in doc.sections: # ========== 1. 页眉置顶的核心边距 ========== section.top_margin = Cm(3.0) section.header_distance = Cm(1.0) # ========== 2. 清空页眉 + 无格式段落 ========== header = section.header header.paragraphs.clear() header_para = header.add_paragraph() header_para.paragraph_format.left_indent = Cm(0) header_para.paragraph_format.right_indent = Cm(1.0) # 页眉整体右缩进1cm,避免图片超页 header_para.paragraph_format.first_line_indent = Cm(0) header_para.paragraph_format.space_before = Pt(0) header_para.paragraph_format.space_after = Pt(0) header_para.paragraph_format.line_spacing_rule = WD_LINE_SPACING.SINGLE # ========== 3. 页眉文字 ========== text_run = header_para.add_run(header_text) text_run.font.name = "宋体" text_run.font.size = Pt(10) text_run.font.position = 0 # ========== 4. 添加logo/文字 ========== if logo_path: #if right_text: #判断是否传右侧文字 # 制表位(适配A4纸) # 偏右,可减小(如14cm);偏左则增大(如17cm) tab_position = Cm(14.7) # Word默认页边距调整值为14.7,显示最合适 header_para.paragraph_format.tab_stops.add_tab_stop(tab_position, WD_ALIGN_PARAGRAPH.RIGHT) header_para.add_run().add_tab() img_run = header_para.add_run() img_run.add_picture(logo_path, width=Cm(2), height=Cm(1)) # 添加右侧文字(替换原图片代码) # right_run = header_para.add_run(right_text) # right_run.font.name = "宋体" # right_run.font.size = Pt(10) # 和左侧文字字号一致 # right_run.font.position = 0 # 垂直置顶 # 图片垂直置顶 r_element = img_run._element rPr_element = r_element.find(qn('w:rPr')) if rPr_element is None: rPr_element = OxmlElement('w:rPr') r_element.append(rPr_element) v_align = OxmlElement('w:vAlign') v_align.set(qn('w:val'), 'top') rPr_element.append(v_align) # ========== 5. 页脚设置 ========== footer = section.footer footer.paragraphs.clear() footer_para = footer.add_paragraph() footer_para.alignment = WD_ALIGN_PARAGRAPH.CENTER footer_para.add_run("第") page_num = OxmlElement('w:fldSimple') page_num.set(qn('w:instr'), 'PAGE') footer_para._p.append(page_num) footer_para.add_run("页 共") total_pages = OxmlElement('w:fldSimple') total_pages.set(qn('w:instr'), 'NUMPAGES') footer_para._p.append(total_pages) footer_para.add_run("页") for run in footer_para.runs: run.font.name = "宋体" run.font.size = Pt(9) doc.save(save_path) print(f"图片位置!保存路径:{save_path}") print(f"若存在偏右/左,调整代码中tab_position的值(14-17cm之间)") # ===================== 调用代码 ===================== if __name__ == "__main__": DOC_PATH = r"C:\Users\测试1.docx" SAVE_PATH = r"C:\Users\测试_图片位置修复.docx" HEADER_TEXT = "XX公司内部文档 | 保密" LOGO_PATH = r"C:\Users\f8.jpg" # 无logo设为None # 传右侧要显示的文字(替换原LOGO_PATH) # RIGHT_TEXT = "2026年第1期" fix_header_img_position(DOC_PATH, SAVE_PATH, HEADER_TEXT, LOGO_PATH)

添加表格

from docx import Document # 1. 打开文档+定义数据源 doc = Document(r"C:\Users\测试.docx") # 写入内容在列表中 list1 = [ ["","",""], ["","",""], ["","",""], ["","",""], ["","",""], ] list2 = [ ["","",""], ["","",""], ["","",""], ["","",""], ["","",""] ] # 2. 封装成通用函数(更简洁,一次封装终身复用) def fill_table(doc, data): """ 用enumerate优化的表格填充函数 :param doc: 文档对象 :param data: 二维列表数据源 :return: 创建的表格对象 """ # 动态获取行数/列数(去掉硬编码,适配任意大小的data) rows_num = len(data) cols_num = len(data[0]) if rows_num > 0 else 0 # 避免空列表报错 # 创建表格 table = doc.add_table(rows=rows_num, cols=cols_num) # 核心优化:用enumerate遍历行(同时拿行索引+行数据) for row_idx, row_data in enumerate(data): # 获取当前行的所有单元格 cells = table.rows[row_idx].cells # 内层优化:用enumerate遍历列(同时拿列索引+列数据) for col_idx, cell_data in enumerate(row_data): cells[col_idx].text = str(cell_data) # 直接用cell_data,不用list1[row][col] return table # 3. 调用函数填充表格 fill_table(doc, list1) doc.add_paragraph("----------------------------------") fill_table(doc, list2) # 4. 保存文档 doc.save(r"C:\Users\测试_添加表格.docx") print("代码运行完成!")

提取表格内容写入Excel

from docx import Document from openpyxl import Workbook # 1. 打开Word文档,获取第一个表格 doc = Document(r"C:\Users\测试.docx") t0 = doc.tables[0] # Word里的第一个表格 # 2. 创建Excel工作簿和工作表 workbook = Workbook() sheet = workbook.active # 3. 正确遍历Word表格,写入Excel for i in range(len(t0.rows)): # 遍历Word表格的每一行 list1 = [] # 初始化:存储当前行的所有单元格内容 # 用len(t0.rows[i].cells)获取当前行的列数 for j in range(len(t0.rows[i].cells)): # 获取当前单元格的文本(去掉多余空格/换行,优化数据) cell_text = t0.cell(i, j).text.strip() list1.append(cell_text) # 把当前列的内容加入行列表 # 内层列循环结束后,一次性append整行数据到Excel sheet.append(list1) # 4. 保存Excel文件 workbook.save(filename=r"C:\Users\测试_提取出表格.xlsx") print("Word表格已成功导出到Excel!")

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1169288.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

强烈安利8个一键生成论文工具,MBA论文写作必备!

强烈安利8个一键生成论文工具,MBA论文写作必备! AI 工具助力论文写作,效率与质量双提升 在当今信息爆炸的时代,MBA 学生和科研工作者面对繁重的论文写作任务时,常常感到力不从心。而 AI 工具的出现,为这一难…

吉安市吉州青原吉安吉水峡江雅思培训辅导机构推荐:2026权威出国雅思课程中心学校口碑排行榜 - 苏木2025

对于身处吉安市吉州、青原、吉安、吉水、峡江等地,怀揣留学梦想的考生而言,雅思备考之路常伴随诸多困扰:本地优质培训资源有限,难以找到教学体系成熟、师资力量雄厚的教育机构;自学缺乏系统性和反馈,提分缓慢,难…

2026年福建草本基因枪美容仪器公司实力解析:美航草本年轻态 /草本年轻态门店 /草本年轻态门店地址 /美航著妍草本年轻态 /美航草本年轻态加盟多钱机构精选 - 品牌推荐官

在美容仪器领域,“草本”与“基因枪”的融合概念,代表了市场对天然植萃成分与精准递送技术相结合的高度期待。从产业链角度看,这涉及到上游的草本活性物研发、中游的精密光学与电子硬件制造,以及下游的品牌整合与市…

2026论文写作AI工具终极测评:全流程提效首选,免费神器认准这款

2026年,AI技术已深度渗透学术写作全场景,成为科研人、学生破解选题迷茫、格式混乱、文献难寻、排版耗时等痛点的核心助力。但市面上论文类AI工具良莠不齐,多数产品宣传噱头大于实用价值,究竟哪些能真正贴合学术规范、实现全流程提…

导师严选2026最新!10款AI论文写作软件测评:专科生毕业论文必备工具

导师严选2026最新!10款AI论文写作软件测评:专科生毕业论文必备工具 2026年AI论文写作工具测评:为何值得一看? 随着人工智能技术的不断进步,AI论文写作工具在学术领域的应用越来越广泛。对于专科生而言,撰写…

2026福建卫生高级职称该怎么备考?这份通关攻略助你高效突围 - 医考机构品牌测评专家

2026福建卫生高级职称该怎么备考?这份通关攻略助你高效突围面对即将到来的2026年福建卫生高级职称考试,许多同行已经开始感到焦虑与迷茫。人机对话的考试形式、“笔试次年评审”的独特规则、日益综合的考题趋势……每…

外包交付加速,XinServer 实操案例解析

外包交付加速,XinServer 实操案例解析 最近带团队做外包项目,甲方催得急,需求还老变。最头疼的就是后端,每次加个字段、改个接口,前后端都得折腾半天。服务器运维更是麻烦,动不动就“502 Bad Gateway”&…

2026年工业内窥镜厂家推荐排行榜,管道/旋转/井下/测量/高清/超清内窥镜,专业品牌深度解析与选购指南 - 品牌企业推荐师(官方)

2026年工业内窥镜厂家推荐排行榜:管道/旋转/井下/测量/高清/超清内窥镜,专业品牌深度解析与选购指南 随着工业4.0的深入推进和智能制造、智慧运维需求的激增,工业内窥镜作为非破坏性检测(NDT)领域的“眼睛”,其重…

spaCy从入门到精通:1.1 spaCy简介与特点

目录 什么是spaCy?spaCy的核心特点spaCy的设计理念spaCy的技术栈spaCy与其他NLP库的对比spaCy的应用场景小结 什么是spaCy? spaCy是一个工业级的自然语言处理(NLP)库,使用Python和Cython开发,专为生产环…

基于VUE的农村帮扶管理系统[VUE]-计算机毕业设计源码+LW文档

摘要:农村帮扶工作是促进农村发展、缩小城乡差距的重要举措。本文介绍基于VUE的农村帮扶管理系统,阐述其采用的技术架构与关键技术,深入分析系统在帮扶政策管理、用户管理、信息发布与查询等方面的需求。详细描述系统的整体架构、数据库以及各…

12. Material Design

12. Material Design kotlin引入库// project structure com.google.android.material:1.1.0// app\build.gradle implementation de.hdodenhof:circleimageview:3.0.1Design package com.example.helloworldimport an…

楼宇自控系统是什么?和其它控制系统到底有什么区别?

楼宇自控系统(BAS/BMS),是面向建筑机电系统的综合控制与管理体系,非单一设备,核心控制空调通风、给排水、电力能耗、照明等系统,兼顾安防消防状态联动,以稳定运行、节能优化、集中管理为目标&am…

2026副主任药师考试机构实力榜:三大靠谱选择深度测评与口碑推荐 - 医考机构品牌测评专家

2026副主任药师考试机构实力榜:三大靠谱选择深度测评与口碑推荐备战2026年副主任药师考试,选择一家教学扎实、服务到位、口碑过硬的培训机构,无疑是成功通关的重要一环。面对市场上众多的选择,很多考生都会困惑:“…

【AI编程工具】-TRAE CN v3.3.21 手把手教你玩转全新Skills技能!

【AI编程工具】-TRAE CN v3.3.21 手把手教你玩转全新Skills技能!Posted on 2026-01-16 17:30 Java后端的Ai之路 阅读(0) 评论(0) 收藏 举报🚀 TRAE IDE「技能」功能完全新手教程 欢迎来到 TRAE IDE 的「技能」…

2026年副主任药师考试培训机构深度测评:口碑与实力兼备的选择指南 - 医考机构品牌测评专家

2026年副主任药师考试培训机构深度测评:口碑与实力兼备的选择指南面对日益激烈的卫生高级职称竞争,选择一家高效、靠谱的培训机构已成为副主任药师考生成功“上岸”的关键。市场上的医考机构名目繁多,宣传各异,如何…

救命神器!9款AI论文平台测评:本科生毕业论文救星

救命神器!9款AI论文平台测评:本科生毕业论文救星 2026年AI论文平台测评:为何值得一看 随着人工智能技术的不断进步,越来越多的学术工作者开始借助AI工具提升写作效率。对于本科生而言,毕业论文的撰写不仅是学业的重要环…

基于VUE的宁新学校学生宿舍管理信息系统[VUE]-计算机毕业设计源码+LW文档

摘要:学生宿舍管理是学校管理工作的关键环节,传统管理方式效率较低且易出错。本文介绍基于VUE的宁新学校学生宿舍管理信息系统,阐述其采用的技术,深入分析系统在用户管理、宿舍信息管理、学生住宿管理等方面的需求,详细…

实验课速通SQLServer期末考点五:数据库维护

View Post实验课速通SQLServer期末考点五:数据库维护一、实验内容 SQL Server 2017 环境下教学信息管理系统的数据库安全性控制(用户 / 角色 / 权限)与备份恢复实现。 二、实验目的掌握 SQL Server 数据库安全性控制…

spaCy从入门到精通:1.2 安装与环境配置

在开始使用spaCy之前,我们需要先安装spaCy并配置好环境。本节将详细介绍spaCy的安装过程、预训练模型的下载、安装验证以及常见问题的解决方法。 1.2.1 安装spaCy 系统要求 在安装spaCy之前,确保你的系统满足以下要求: Python版本&#xff1a…

2026年音乐放松按摩椅厂家权威推荐榜单:音乐放松椅/体感型音乐放松椅/户外素质拓展箱/团体活动工具箱/活动工具箱源头厂家精选 - 品牌推荐官

在心理健康服务日益普及、康养产业快速发展的背景下,专业机构对心理辅助设备的需求正从基础工具向智能化、综合化、场景化升级。作为心理减压、情绪调节和身心放松的重要工具,音乐放松按摩椅已广泛应用于学校、医院、…