python 创建个性化的word文档

本文介绍了如何利用Python的pywin32库快速生成Word文档,包括添加文本、调整格式(如居中、加粗和字体选择),并提供了示例代码。同时提到了可能遇到的问题及解决方法,如字体显示问题和查阅官方文档。
Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

python可以让你的报表做得又快又好,今天给大家分享一篇用python pywin32库创建word的方法。

代码所需要的第三方库为pywin32。

pip install pywin32
from win32com.client import Dispatch
import os

# 添加一段文字
def add_para(content, is_indent=True, is_alignment_center=False, is_bold=False, font_name='方正仿宋',
             font_size=16, font_color=None):
    '''
    :param content: 写入word的内容
    :param is_indent: 首行缩进2个字符
    :param is_alignment_center: 居中对齐
    :param is_bold: 字体加粗
    :param font_name: 字体名称,比如方正仿宋、方正小标宋...
    :param font_size: 字体大小,比如二号对应22磅,三号对应16磅
    :param font_color: 字体颜色
    '''
    global para_index, start
    selection = word.Selection
    selection.Start = start
    selection.InsertParagraph()
    rng = selection.Range
    rng.Text = content
    para = doc.Paragraphs(para_index)
    if is_indent:
        para.CharacterUnitFirstLineIndent = 2  # 首行缩进2个字符
    if is_alignment_center:
        rng.ParagraphFormat.Alignment = 1  # 居中对齐
    if is_bold:
        rng.Font.Bold = True  # 字体加粗
    if font_color:
        rng.Font.Color = font_color
    rng.Font.Name = font_name
    rng.Font.Size = font_size

    para_index += 1
    start = rng.End + 1

word = Dispatch('kwps.Application')
word.Visible = 1
# 新建一个word
doc = word.Documents.Add()
# 如果有设置好了的word模板,则调用下面的方法
# doc = word.Documents.Open('abosulte_path')
para_index = 1
start = 0

add_para(content='我是标题', is_alignment_center=True, font_name='方正小标宋', font_size=22)
add_para(content='一、我是方正黑体', font_name='方正黑体', font_size=16)
add_para(content='(一)我是方正楷体', font_name='方正楷体', font_size=16)
add_para(content='我是方正仿宋', font_name='方正仿宋', font_size=16,font_color=255)

doc_path = os.path.join(os.path.dirname(__file__),'xxx.docx')
doc.SaveAs(doc_path)
doc.Close()
word.Quit()

生成的效果如下,如果字体显示不对,可能是你的电脑没有这些字体,需要自己另行下载方正字体,将下载好的字体放入C:\Windows\Fonts文件夹中。

学会了pywin32库的使用,分分钟自动完成几千、几万字的材料不再是梦想。

在使用pywin32库过程中,需要经常查阅下面这两个手册。遇到问题,查阅手册,手撸代码。

Microsoft.Office.Interop.Word 命名空间 | Microsoft Learn

Microsoft.Office.Interop.Excel 命名空间 | Microsoft Learn

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值