首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在xlwing中格式化表格

在xlwing中格式化表格
EN

Stack Overflow用户
提问于 2018-05-31 20:27:48
回答 4查看 2.5K关注 0票数 1

如何在xlwings中格式化表格?例如,如果我想将excel样式“浅蓝色,表格样式光2”添加到来自xlwing的Range对象中。

因为它不在xlwing文档中,所以我相信它应该是这样的(在连接到wb和所有东西之后):

代码语言:javascript
复制
xw.Range('A1').api. #Something goes here

作为后续问题,如何了解在获取api对象后有哪些选项?我唯一见过这样做的地方是other SO questions和here,它基本上只是对这类问题的SO答案的汇编。

(这样我们就不用一直打扰你了,Felix ;)

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2018-06-08 04:13:01

我找到了一个解决方案。与社区分享,以防其他人有兴趣做同样的事情。解决方案是基于他自己here提出并回答的一个问题。

代码语言:javascript
复制
import xlwings as xw

wb = xw.('filename.xlsx')            # Initialize a WorkBook
sht = wb.sheets['sheet_name']        # Grab the desired Sheet
tbl = sht.api.ListObjects.add()      # Adds table to Excel (returning a Table)
tbl.TableStyle = "TableStyleMedium5" # Set table styling

注意:奇怪的是,这会将一个表格放在Excel文档中光标所在的位置(上一次您在打开时保存它?对此不确定)。我试图通过Python更改光标的位置,但没有成功。因此,如果有人知道如何做到这一点,我肯定会感兴趣。例如,除非您可以更改光标位置,否则不能使用我的解决方案在同一个工作表上创建两个不同的表。

“变通”(AKA hack):我选择从工作表中保存数据,删除并重新制作工作表,然后将数据放回原处。在新的工作表中,您的光标自动放置在A1中,因此以这种方式移动光标后调用上面的代码将使A1 (和周围的单元格)进入表格,这正是我所需要的。

票数 4
EN

Stack Overflow用户

发布于 2020-12-18 05:41:04

除了Stephen Cowley和mouwsy的回答之外,您还可以为表格选择特定的单元格范围,而不仅仅是使用的区域,并在一个步骤中设置表格的格式。

代码语言:javascript
复制
wb = xw.('filename.xlsx')            # Initialize a WorkBook
sht = wb.sheets['sheet_name']        # Grab the desired Sheet

# Select your custom range and style the table
tbl = sht.tables.add(sht.range('A1:A100'), table_style_name='TableStyleMedium6')  
票数 3
EN

Stack Overflow用户

发布于 2019-05-23 02:06:29

首先执行sheet.range('D1').select()可以帮助您从A1移动到其他单元格(比如使用鼠标),这样您就可以将表放置在您想要的任何位置,而不仅仅是A1

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50624336

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档