(一)首先,你需要pip一个python-docx库章节目标:使用python创建一个文档,并向其中插入文字,图片,表格
开发环境:Python 3.9
IDE:pycharm
在pycharm中pip包的具体方式已经在专栏的前一篇中说过啦,小白选手可以去看一下:
【一】为什么有时候在cmd里pip的包,pycharm里面找不到?
安装好这个包之后,新建.py文件。
需要记住两件事:
1)你要导入的图片路径;
2)你想把创建的docx文件输出到哪里。
以下是官方docx的说明代码,本文将对其进行小白模式的讲解(自我学习笔记):
from docx import document
from docx.shared import Inches
document = document()
#添加标题,并设置级别,范围:0 至 9,默认为1
document.add_heading('document Title', 0)
#添加段落,文本可以包含制表符(t)、换行符(n)或回车符(r)等
p = document.add_paragraph('A plain paragraph having some ')
#在段落后面追加文本,并可设置样式
p.add_run('bold').bold = True
p.add_run(' and some ')
p.add_run('italic.').italic = True
document.add_heading('Heading, level 1', level=1)
document.add_paragraph('Intense quote', style='Intense Quote')
#添加项目列表(前面一个小圆点)
document.add_paragraph(
'first item in unordered list', style='List Bullet'
)
document.add_paragraph('second item in unordered list', style='List Bullet')
#添加项目列表(前面数字)
document.add_paragraph('first item in ordered list', style='List Number')
document.add_paragraph('second item in ordered list', style='List Number')
#添加图片
document.add_picture('D:pic1.jpg', width=Inches(1.25))
records = (
(3, '101', 'Spam'),
(7, '422', 'Eggs'),
(4, '631', 'Spam, spam, eggs, and spam')
)
#添加表格:一行三列
# 表格样式参数可选:
# Normal Table
# Table Grid
# Light Shading、 Light Shading Accent 1 至 Light Shading Accent 6
# Light List、Light List Accent 1 至 Light List Accent 6
# Light Grid、Light Grid Accent 1 至 Light Grid Accent 6
# 太多了其它省略...
table = document.add_table(rows=1, cols=3, style='Light Shading Accent 2')
#获取第一行的单元格列表
hdr_cells = table.rows[0].cells
#下面三行设置上面第一行的三个单元格的文本值
hdr_cells[0].text = 'Qty'
hdr_cells[1].text = 'Id'
hdr_cells[2].text = 'Desc'
for qty, id, desc in records:
#表格添加行,并返回行所在的单元格列表
row_cells = table.add_row().cells
row_cells[0].text = str(qty)
row_cells[1].text = id
row_cells[2].text = desc
document.add_page_break()
#保存.docx文档
document.save('D:demo.docx')
其输出结果(文档)如图所示:
1.添加图片部分,需要将第一个参数改为自己电脑上图片的位置。
#添加图片
document.add_picture('D:pic1.jpg', width=Inches(1.25))
2.存储文档地址部分,需要将第一个参数改为你想要将文档存储在的位置。
#保存.docx文档
document.save('D:demo.docx')
(二)代码详解
其实也没啥详解的,注释都写得很清楚。对照文档效果就可以很清晰地知道每个函数是怎么用的了。
如果嫌不够详细,直接带着关键词进CSDN。



