# -*- coding: utf-8 -*-
"""
Created on Sat Oct 24 17:21:31 2020
pip install -i https://mirrors.aliyun.com/pypi/simple/ docx 参考文档 https://python-docx.readthedocs.io/en/latest/
@author: Administrator
"""
from docx import Document
from docx.shared import Inches from docx.oxml import OxmlElement
from docx.oxml.ns import qn #设置表格的边框
def set_cell_border(cell, **kwargs):
"""
Set cell`s border
Usage:
set_cell_border(
cell,
top={"sz": 12, "val": "single", "color": "#FF0000", "space": "0"},
bottom={"sz": 12, "color": "#00FF00", "val": "single"},
left={"sz": 24, "val": "dashed", "shadow": "true"},
right={"sz": 12, "val": "dashed"},
)
"""
tc = cell._tc
tcPr = tc.get_or_add_tcPr() # check for tag existnace, if none found, then create one
tcBorders = tcPr.first_child_found_in("w:tcBorders")
if tcBorders is None:
tcBorders = OxmlElement('w:tcBorders')
tcPr.append(tcBorders) # list over all available tags
for edge in ('left', 'top', 'right', 'bottom', 'insideH', 'insideV'):
edge_data = kwargs.get(edge)
if edge_data:
tag = 'w:{}'.format(edge) # check for tag existnace, if none found, then create one
element = tcBorders.find(qn(tag))
if element is None:
element = OxmlElement(tag)
tcBorders.append(element) # looks like order of attributes is important
for key in ["sz", "val", "color", "space", "shadow"]:
if key in edge_data:
element.set(qn('w:{}'.format(key)), str(edge_data[key])) document = Document()
#document.add_picture('monty-truth.png', width=Inches(1.25)) records = (
(3, '101', 'Spam'),
(7, '422', 'Eggs'),
(4, '631', 'Spam, spam, eggs, and spam')
) table = document.add_table(rows=1, cols=1)
hdr_cells = table.rows[0].cells
hdr_cells[0].text ="xxx" set_cell_border(
hdr_cells[0],
top={"sz": 0.5, "val": "double", "color": "#000000", "space": "0"},
bottom={"sz": 0.5, "val": "double", "color": "#000000", "space": "0"},
left={"sz": 0.5, "val": "double", "color": "#000000", "space": "0"},
right={"sz": 0.5, "val": "double", "color": "#000000", "space": "0"},
insideH={"sz": 0.5, "val": "double", "color": "#000000", "space": "0"},
end={"sz": 0.5, "val": "double", "color": "#000000", "space": "0"}
) # 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 print('finish !!!')

参考:http://officeopenxml.com/WPtableBorders.php

python-docx 设置表格边框的更多相关文章

  1. css中的border-collapse属性如何设置表格边框线?(代码示例)

    css中的border-collapse属性如何设置表格边框线?本篇文章就给大家介绍css中的border-collapse属性是什么? border-collapse属性设置表格边框线的方法.有一定 ...

  2. CSS:表格样式(设置表格边框/文字/背景的样式)

    使用CSS能够制作出十分精美的表格. 代码整理自w3school:http://www.w3school.com.cn 效果图: 代码: <!DOCTYPE html PUBLIC " ...

  3. PHPExcel 设置表格边框

    //设置单元格边框 $style_array = array( 'borders' => array( 'allborders' => array( 'style' => \PHPE ...

  4. 设置表格边框css样式

    table{ width:70%; text-align:center; border-left:#C8B9AE solid 1px; border-top:#C8B9AE solid 1px; bo ...

  5. [转]CSS如何设置html table表格边框样式

    原文地址:http://www.divcss5.com/wenji/w503.shtml 对table设置css样式边框,分为几种情况: 1.只对table设置边框 2.对td设置边框 3.对tabl ...

  6. HTML表格边框的设置小技巧

    对于很多初学HTML的人来说,表格<table>是最常用的标签了,但对于表格边框的控制,很多初学者却不甚其解. 对于很多初学HTML的人来说,表格<table>是最常用的标签了 ...

  7. (转)HTML表格边框的设置小技巧

    对于很多初学HTML的人来说,表格<table>是最常用的标签了,但对于表格边框的控制,很多初学者却不甚其解. 对于很多初学HTML的人来说,表格<table>是最常用的标签了 ...

  8. HTML表格边框的设置小技巧-表格

    对于很多初学HTML的人来说,表格<table>是最常用的标签了,但对于表格边框的控制,很多初学者却不甚其解. 一般我们用表格的时候总会给它个border属性,比如:<table b ...

  9. html 表格边框的设置

    对于很多初学HTML的人来说,表格<table>是最常用的标签了,但对于表格边框的控制,很多初学者却不甚其解. 一般我们用表格的时候总会给它个border属性,比如:<table b ...

  10. python 处理 Excel 表格

    see: http://www.cnblogs.com/sunada2005/p/3193300.html 一.可使用的第三方库 python中处理excel表格,常用的库有xlrd(读excel)表 ...

随机推荐

  1. DBeaver连接PostgreSQL后只有默认数据库“postgres”不显示其他数据库的问题解决办法

    我们在使用DBeaver连接PostgreSQL后,发现数据库中只有"postgres"默认数据库,不显示我们自己创建的数据库. 1.问题描述 我们在使用DBeaver连接Post ...

  2. Luogu P11543 Code+#5 我有矩阵,你有吗? 题解 [ 绿 ] [ 扩展域并查集 ]

    我有矩阵,你有吗?:并查集小清新题. 思路 看到这题,我第一个想到的竟然是高斯消元. 首先一行和一列肯定不会操作两次以上,不然一定可以等效为操作 \(0\) 次和操作 \(1\) 次的情况. 于是我们 ...

  3. 创建Graphics对象的三种方法

    参考链接:https://www.cnblogs.com/wax01/p/4982691.html 方法一.利用控件或窗体的Paint事件中的PainEventArgs 在窗体或控件的Paint事件中 ...

  4. 技术前瞻: ECMAScript 2025 已定稿特性解析:让 JavaScript 更优雅

    作为全球应用最广泛的编程语言之一,JavaScript 每年都在通过 ECMAScript 标准持续进化.2025 年,ECMAScript 再次带来多项重磅更新,本文将带你深入解读已正式定稿的核心特 ...

  5. 使用XManager远程连接服务器的时候使用Qt键盘会错位偏移

    问题 最近使用XManager访问服务器的xfce桌面,在使用Qt查看代码的时候发现键盘会错位 如下图,我输入application,最终显示这个 这样子就根本无法进行开发了 然后在网上找,发现有人出 ...

  6. [JOI 2020 Final] 火事 题解

    给一篇题解.(下面这张图是从 luogu 上粘贴的,因为不太会画图) 其中纵坐标为 \(t\),横坐标为 \(a_i\). 发现同颜色块只有平行四边形和直角梯形(等腰直角三角形)两种情况. 可以将直角 ...

  7. 开源一款串口舵机驱动扩展板-FreakStudio多米诺系列

    原文链接: FreakStudio的博客 摘要 总线舵机扩展板通过UART接口控制多个舵机,支持堆叠级联,最多连接4个扩展板.具备小尺寸设计.供电保护.全双工转半双工通信.稳定供电等特点,适用于多舵机 ...

  8. Element-UI 使用心得之el-card

    el-card 是Element-UI  内置的卡片组件,使用起来很方便,但是对Vuejs和html 不是精通的话,根据自己的要求布局,会出现自己的小困惑,必须添加垂直居中,按照CSS 布局设置,总是 ...

  9. DeepSeek 全套资料pdf合集免费下载(持续更新)

    有很多朋友都关注DeepSeek相关使用的教程资料,本站也一直持续分享DeepSeek 学习相关的pdf资料,由于比较零散,这篇文章主要就是做一个汇总,并且持续更新,让大家可以及时获取下载最新的相关D ...

  10. 内网环境部署Deepseek+Dify,构建企业私有化AI应用

    0.简介 公司为生产安全和保密,内部的服务器不可连接外部网络,为了可以在内网环境下部署,采用的方案为ollama(Docker)+Dify(Docker Compose),方便内网环境下迁移和备份,下 ...