咔片PPT · AI自动生成演示文稿,模板丰富、排版精美 讯飞智文 · 一键生成PPT和Word,高效应对学习与办公

一、向Word文档中写入数据——python-docx

1.1 安装:pip install python-docx


1.2 使用方法:

1.2.1 向Word中写入文字

#以下是docx库中需要用到的部分

from docx import Document

from docx.enum.text import WD_ALIGN_PARAGRAPH #文本排列样式

from docx.shared import Pt # 字体大小,磅数

from docx.oxml.ns import qn # 中文格式


# 创建文档对象

document = Document()


# 设置文档的基础字体

document.styles['Normal'].font.name = u'宋体'


# 设置文档的基础字体和样式(包含中文)

document.styles['Normal']._element.rPr.rFonts.set(qn('w:eastAsia'), u'宋体')


# 初始化建立第一个自然段

p1 = document.add_paragraph()


# 对齐方式为居中,没有这句的话默认左对齐。

p1.alignment = WD_ALIGN_PARAGRAPH.CENTER


# 设置第一段的内容

run1 = p1.add_run('关于下达%s产品价格的通知' % (today))


# 设置西文字体

run1.font.name = '微软雅黑'


# 设置中文字体

run1._element.rPr.rFonts.set(qn('w:eastAsia'), u'微软雅黑')


# 设置字体大小为21磅

run1.font.size = Pt(21)


# 设置加粗

run1.font.bold = True


# 段后距离5磅

p1.space_after = Pt(5)


# 段前距离5磅

p1.space_before = Pt(5)


#保存

document.save('a.docx' )


1.2.2 向Word中写入图片和表格

# 写入图片需要导入图片尺寸

from docx.shared import Inches


#插入图片,宽度为6英寸

document.add_picture('banner.jpg', width=Inches(6))


#插入表格,3行3列

table = document.add_table(rows=3, cols=3, style='Table Grid')


#合并单元格,从第一行第一列合并到第一行第三列

table.cell(0, 0).merge(table.cell(0, 2))


#设置第一行第一列的单元格的文字内容和字体样式

table_run1 = table.cell(0, 0).paragraphs[0].add_run('XX产品报价表')

table.cell(0, 0).paragraphs[0].alignment = WD_ALIGN_PARAGRAPH.CENTER

table_run1.font.name = u'隶书'

table_run1._element.rPr.rFonts.set(qn('w:eastAsia'), u'隶书')


#设置其他单元格的内容

table.cell(1, 0).text = '日期'

table.cell(1, 1).text = '价格'

table.cell(1, 2).text = '备注'

table.cell(2, 0).text = today

table.cell(2, 1).text = str(price)

table.cell(2, 2).text = ''


1.2.3 将Word文档转换成PDF文件

注意:代码是固定写法