Python自动化 写入表格与图片

继续上一节的内容基础上学习:https://www.cnblogs.com/Crown-V/articles/16747073.html

#导入模块
#首先导入文本对象模块
from docx import Document
from docx.shared import Pt,RGBColor  #导入磅的单位,颜色

#1.创建一个文档对象
document = Document() #新建文档对象
#Document("xx.docx") 读取现有的word建立的文本对象

#2.写入内容(文本、图像)
#写入标题
document.add_heading("科技V领",level=4)  #添加标题,level为0-9设置标题级别 
#写入内容
P1 = document.add_paragraph('明星,(拼音míng xīng,注音ㄇㄧㄥˊ ㄒㄧㄥ)汉语词语,古书上指金星;旧时指交际场中有名的女子;现指在某个领域内有一定影响力的人物。泛指有名的演员、歌手、艺人、运动员等。')
#在段落之前写些内容
P1.insert_paragraph_before('!!在段落之前插入的内容')

#设置段落的格式
format = P1.paragraph_format #创建P1段落的格式对象
#左右缩进
format.left_indent = Pt(20)  #左侧缩进20磅
format.right_indent = Pt(20) #右侧缩进20磅
#首行缩进
format.first_line_indent = Pt(20)
#行间距
format.line_spacing=1.5
#文本内容追加
run = P1.add_run("追加内容")
#设置run中字体和字号、文字颜色等
##字体大小
run.font.size =Pt(12)
run.font.name = '微软雅黑'
run.font.color.rgb = RGBColor(242,4,4)
#追加
run1 = P1.add_run("追加内容1")
##加粗、下划线、斜体
run1.bold = True
run1.font.underline =True
run1.font.italic = True

#===================================================
#插入文图片
document.add_picture('mm.bmp',Pt(30),Pt(30))
#插入表格
table = document.add_table(rows=1,cols=3) #1行3列
#表格头
header_cells = table.rows[0].cells
header_cells[0].text = '月份'
header_cells[1].text = '预期销售额'
header_cells[2].text = '实际销售额'
#数据
data = (
    ['一月份',500,600],
    ['二月份',900,600],
    ['三月份',1000,600],
)
#遍历添加表格与数据
for item in data:
    rows_cells = table.add_row().cells #表格添加一行
    #每行每个单元格添加数据
    rows_cells[0].text = item[0]       
    rows_cells[1].text = str(item[1])
    rows_cells[2].text = str(item[2])
#获取word中的表格
print(len(document.tables[0].rows)) #打印表格的总行数
print(len(document.tables[0].columns)) #打印表格的总列数
#获取表格的单元格
print(document.tables[0].cell(0,2).text)  #获取单元格的内容


#3.保存文档
document.save("info.docx")

插入图片

#插入图片
document.add_picture('mm.bmp',Pt(30),Pt(30))

插入图片使用文档的add_picture()参数为图片地址、宽度和高度

插入表格并赋值

#插入表格
table = document.add_table(rows=1,cols=3) #1行3列
#表格头
header_cells = table.rows[0].cells
header_cells[0].text = '月份'
header_cells[1].text = '预期销售额'
header_cells[2].text = '实际销售额'

使用for循环将数据添加到表格中

#数据
data = (
    ['一月份',500,600],
    ['二月份',900,600],
    ['三月份',1000,600],
)
#遍历添加表格与数据
for item in data:
    rows_cells = table.add_row().cells #表格添加一行
    #每行每个单元格添加数据
    rows_cells[0].text = item[0]       
    rows_cells[1].text = str(item[1])
    rows_cells[2].text = str(item[2])

获取word中的表格以及内容

#获取word中的表格
print(len(document.tables[0].rows)) #打印表格的总行数
print(len(document.tables[0].columns)) #打印表格的总列数
#获取表格的单元格
print(document.tables[0].cell(0,2).text)  #获取单元格的内容

 

posted @ 2022-10-01 16:23  Crown-V  阅读(332)  评论(0)    收藏  举报