python word 表格 框线,使用python-docx在表格中指定边框外观

I am going through the tutorial and documentation of python-docx.

However, I can't find any reference to how I can specify and manipulate the border appearance of a table created in a Microsoft Word document.

When i use the following code:

from docx import Document

from docx.shared import Inches

document = Document()

################################

################################

################################

table = document.add_table(rows=1, cols=3)

hdr_cells = table.rows[0].cells

hdr_cells[0].text = 'Qty'

hdr_cells[1].text = 'Id'

hdr_cells[2].text = 'Desc'

row_cells = table.add_row().cells

row_cells[0].text = 'Str0'

row_cells[1].text = 'Str1'

row_cells[2].text = 'Str2'

row2_cells = table.add_row().cells

row2_cells[0].text = 'Str00'

row2_cells[1].text = 'Str11'

row2_cells[2].text = 'Str22'

################################

################################

################################

document.save('demo.docx')

The resulting docx file shows the 3x3 table with header. Currently there is no black border (inner or outer) on this table.

How can I specify an upper and lower border around the header, a lower border to wrap around the table, as well as an inner vertical border?

For example:

888b97268848c1af86c8d4f264a8154f.png

解决方案

Unfortunately, there is no way to directly manipulate table borders from within python-docx. You basically need to use a style, which specifies these. The style must already exist in Word.

In order to generate a table style to your liking, you need to manually create a new empty document in Word, customize one of the existing table styles there (e.g. Colorful Shading), and add a table using this modified style. Next, you delete this table and save the file (say example.docx) on your disk. This is necessary for the modified style to be saved in the document.

All you have to do then is load the file using python-docx and add a new table, which will reference the (modified) table style:

document = Document('example.docx')

table = document.add_table(rows=1, cols=3)

table.style = 'ColorfulShading'

See also Understanding styles in the documentation for details on how styles in Word work.

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

<h1> 技术选型 </h1> <h3> 1,前端 </h3> <p> 微信小程序原生架 </p> <p> css </p> <p> JavaScript </p> <h3> 2,管理后台 </h3> <p> 云开发Cms内容管理系统 </p> <p> web网页 </p> <h3> 3,数据后台 </h3> <p> 小程序云开发 </p> <p> 云函数 </p> <p> 云数据库 </p> <p> 云存储 </p> <p>   </p> <h1> 1,小程序端 </h1> <p> 1-1,首页 </p> <p> 首页有以下几个功能点 </p> <ol> <li> 点餐 </li> <li> 菜单浏览 </li> <li> 排号等位 </li> <li> 拨打电话 </li> <li> 顶部轮播图 </li> <li> 搜索菜品 </li> </ol> <p> <img src="https://img-blog.csdnimg.cn/20210215134004183.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FpdXNoaV8xOTkw,size_16,color_FFFFFF,t_70" /> </p> <p> 这里点餐分两种 </p> <p> 1,可以设置直接点餐 </p> <p> 直接点餐:适合小型饭店,或者奶茶类的快餐店。直接就可以下单,不用识别桌号 </p> <p> 2,也可设置扫码点餐 </p> <p> 扫码点餐适合大型饭店,可以区分桌号,方便管理 </p> <p> <img src="https://img-blog.csdnimg.cn/20210215134222996.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FpdXNoaV8xOTkw,size_16,color_FFFFFF,t_70" /> </p> <p> 我后面会教大家如何生成桌号二维码,只需要把对应桌号的二维码贴餐桌上,用户点击 扫码点餐 识别二维码,即可获取到桌号信息。 </p> <p> 1-2,菜品浏览页 </p> <p> 菜品浏览分两种 </p> <p> 1,不带分类 </p> <p> 适合菜品少的时候 </p> <p> 2,带分类 </p> <p> 菜品多的时候,带分类更方便客户选择 </p> <p> 不带分类 </p> <p> <img src="https://img-blog.csdnimg.cn/20210215141637393.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FpdXNoaV8xOTkw,size_16,color_FFFFFF,t_70" /> </p> <p>   </p> <p> 带分类 </p> <p>   </p> <p> <img src="https://img-blog.csdnimg.cn/20210215141502455.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FpdXNoaV8xOTkw,size_16,color_FFFFFF,t_70" /> </p> <p> 1-3,搜索功能 </p> <p> 我们这里搜索有两个触发方式 </p> <p> 1,直接点击搜索图标 </p> <p> 2,点击键盘上的搜索键 </p> <p> <img src="https://img-blog.csdnimg.cn/20210215141852542.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FpdXNoaV8xOTkw,size_16,color_FFFFFF,t_70" /> </p> <p> 1-4,搜索结果,支持模糊查询 </p> <p> 如我这里只搜‘鱼’,那么菜品所有包含鱼的都可以搜索到 </p> <p> <img src="https://img-blog.csdnimg.cn/20210215142041898.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FpdXNoaV8xOTkw,size_16,color_FFFFFF,t_70" /> </p> <p>   </p> <p> 1-5,购物车 </p> <p> 首先菜品列表页可以直接添加商品到购物车 </p> <p> <img src="https://img-blog.csdnimg.cn/20210215142147749.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FpdXNoaV8xOTkw,size_16,color_FFFFFF,t_70" /> </p> <p> 购物车弹起后可以做如下操作 </p> <p> 1,增删单个菜品 </p> <p> 2,清空购物车 </p> <p> 3,删除菜品 </p> <p> 这些操作都和菜品列表是联动的,也就是菜品列表和购物车里增删个数,都是可以同步的。我会项目预览章节的视频里做具体演示。 </p> <p> <img src="https://img-blog.csdnimg.cn/20210215142211467.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FpdXNoaV8xOTkw,size_16,color_FFFFFF,t_70" /> </p> <p> 1-6,下单页 </p> <p> 下单页就是确认订单后进行下单支付的。有以下功能 </p> <ul> <li> 1,点餐明细 </li> <li> 2,价格计算 </li> <li> 3,桌号地址 </li> <li> 4,就餐人数 </li> <li> 5,添加备注 </li> <li> 6,点击下单 </li> </ul> <p> <img src="https://img-blog.csdnimg.cn/20210215142604579.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FpdXNoaV8xOTkw,size_16,color_FFFFFF,t_70" /> </p> <p> 1-7,支付页 </p> <p> 支付页分两种方式 </p> <ul> <li> 1,模拟支付 </li> </ul> <p> 适合前期学习,毕业设计等演示类的场景。 </p> <ul> <li> 2,真实微信支付 </li> </ul> <p> 适合商用,但是使用微信支付必须要有营业执照,所以前期如果只是学习的话,建议使用模拟支付。 </p> <p> <img src="https://img-blog.csdnimg.cn/20210215142932366.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FpdXNoaV8xOTkw,size_16,color_FFFFFF,t_70" /> </p> <p>   </p> <p> 1-8,我的订单页 </p> <p> 我的订单页分以下几个状态 </p> <ul> <li> 1,新下单待上餐 </li> <li> 2,已上餐待评价 </li> <li> 3,订单完成 </li> <li> 4,订单取消 </li> </ul> <p> <img src="https://img-blog.csdnimg.cn/20210215143331534.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FpdXNoaV8xOTkw,size_16,color_FFFFFF,t_70" /> </p> <p> 1-9,提交评论页 </p> <p> 我们可以对店家进行评论。 </p> <p> <img src="https://img-blog.csdnimg.cn/20210215143806687.png" /> </p> <p>   </p> <p> 1-10,评价列表页 </p> <p> 可以查看所有评价和自己的评价 </p> <p> <img src="https://img-blog.csdnimg.cn/20210215143905617.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FpdXNoaV8xOTkw,size_16,color_FFFFFF,t_70" /> </p> <p>   </p> <p> 1-11,排号等位 </p> <p> <img src="https://img-blog.csdnimg.cn/20210215144255324.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FpdXNoaV8xOTkw,size_16,color_FFFFFF,t_70" /> </p> <p> 可以看出,我们可以选择就餐人数,排大桌或者小桌。我这里已排小桌为例 </p> <p> <img src="https://img-blog.csdnimg.cn/20210215144359822.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FpdXNoaV8xOTkw,size_16,color_FFFFFF,t_70" /> </p> <p> 通过上图可以看出 </p> <ul> <li> 1,当前排号情况 </li> <li> 2,我的排号 </li> <li> 3,可以重新排号 </li> <li> 4,到号时会有到号提示 </li> </ul> <p> 后面我会把订阅消息功能加进来,这样到号后会有订阅消息提示。 </p> <p>   </p> <p> 1-12,个人心 </p> <p> 个人心分登录和未登录两种状态 </p> <p> 未登录 </p> <p> <img src="https://img-blog.csdnimg.cn/20210215144655159.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FpdXNoaV8xOTkw,size_16,color_FFFFFF,t_70" /> </p> <p> 已登录 </p> <p> <img src="https://img-blog.csdnimg.cn/20210215144816439.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FpdXNoaV8xOTkw,size_16,color_FFFFFF,t_70" /> </p> <p>   </p> <p> 1-13,微信授权登录小程序 </p> <p> <img src="https://img-blog.csdnimg.cn/20210215144754936.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FpdXNoaV8xOTkw,size_16,color_FFFFFF,t_70" /> </p> <p>   </p> <h1> 2,后厨端和排号管理端 </h1> <p> 2-1,后厨端主要供后厨的厨师使用 </p> <ul> <li> 1,可以查看当前新下单 </li> <li> 2,完成后可以操作菜品完成 </li> <li> 3,可以监听用户新下单 </li> <li> 4,有新订单时会有语音提示 </li> <li> 5,厨师登录页 </li> </ul> <p> 语音提示我会视频课里具体演示 </p> <p> 厨师登录页 </p> <p> <img src="https://img-blog.csdnimg.cn/20210215145137398.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FpdXNoaV8xOTkw,size_16,color_FFFFFF,t_70" /> </p> <p>   </p> <p> 厨师管理页 </p> <p> 可以查看待制作订单 </p> <p> <img src="https://img-blog.csdnimg.cn/20210215145217753.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FpdXNoaV8xOTkw,size_16,color_FFFFFF,t_70" /> </p> <p> 用户新下单后,会有语音提示 </p> <p> <img src="https://img-blog.csdnimg.cn/20210215145330324.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FpdXNoaV8xOTkw,size_16,color_FFFFFF,t_70" /> </p> <p>   </p> <p> 2-2,排号管理页 </p> <p> 同样也有登录页,和上面厨师登录一样,这里重点看下排号管理页 </p> <p> 管理员可以查看当前排号情况,可以叫号。 </p> <p> <img src="https://img-blog.csdnimg.cn/20210215145528136.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FpdXNoaV8xOTkw,size_16,color_FFFFFF,t_70" /> </p> <h1> 3,cms管理后台 </h1> <p> 我们这里的可视化网页后台使用的时云开发自带的cms(内容管理) </p> <p> 3-1,登录页 </p> <p> <img src="https://img-blog.csdnimg.cn/20210215151020437.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FpdXNoaV8xOTkw,size_16,color_FFFFFF,t_70" /> </p> <p>   </p> <p> 3-2,管理后台 </p> <p> <img src="https://img-blog.csdnimg.cn/20210215151101851.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FpdXNoaV8xOTkw,size_16,color_FFFFFF,t_70" /> </p> <p> 我们可以这里 </p> <p>   </p> <ul> <li> 1,添加轮播图,删除轮播图,修改轮播图 </li> <li> 2,添加菜品,删除菜品,修改菜品,上架下架菜品 </li> <li> 3,管理订单 </li> <li> 4,查看评价 </li> <li> 5,管理后厨和排号管理员 </li> <li> 6,查看排号数据 </li> </ul> <p>   </p> <p>   </p> <p> <img src="https://img-blog.csdnimg.cn/20210215151322490.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FpdXNoaV8xOTkw,size_16,color_FFFFFF,t_70" /> </p> <p> 比如我查询某个用户的所有订单 </p> <p> <img src="https://img-blog.csdnimg.cn/20210215151413808.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FpdXNoaV8xOTkw,size_16,color_FFFFFF,t_70" /> </p> <p>   </p> <p> 查询所有新下单还未上菜的订单 </p> <p> <img src="https://img-blog.csdnimg.cn/20210215151510269.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FpdXNoaV8xOTkw,size_16,color_FFFFFF,t_70" /> </p> <p>   </p> <p> 还有更多的功能,我会视频课里给大家用视频来演示,这样更直观。 </p> <p>   </p> <p> 4,数据库 </p> <p> 数据库我们这里用云开发自带的云数据库 </p> <p> <img src="https://img-blog.csdnimg.cn/2021021515161616.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FpdXNoaV8xOTkw,size_16,color_FFFFFF,t_70" /> </p> <p>   </p>
表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
©️2021 CSDN 皮肤主题: 1024 设计师:白松林 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值