Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 是否可以使用openpyxl将样式应用于整个工作表?_Python_Python 3.x_Openpyxl - Fatal编程技术网

Python 是否可以使用openpyxl将样式应用于整个工作表?

Python 是否可以使用openpyxl将样式应用于整个工作表?,python,python-3.x,openpyxl,Python,Python 3.x,Openpyxl,我正在学习使用openpyxl模块,并试图在工作表中创建标准样式。我一直在文档和其他人的问题中寻找答案,但我没有找到 我已经找到了改变单个单元格样式的方法,我可以将其循环应用于大量单元格,但这并不能解决我的问题,因为我需要整个表格来适应样式 所以我的问题是,是否有可能做到这一点,以及如何做到这一点 多谢各位 我已经阅读了此文档,但它没有回答以下问题: 从openpyxl.style导入名称样式、字体、边框、边 导入openpyxl 工作簿=openpyxl.workbook() highligh

我正在学习使用openpyxl模块,并试图在工作表中创建标准样式。我一直在文档和其他人的问题中寻找答案,但我没有找到

我已经找到了改变单个单元格样式的方法,我可以将其循环应用于大量单元格,但这并不能解决我的问题,因为我需要整个表格来适应样式

所以我的问题是,是否有可能做到这一点,以及如何做到这一点

多谢各位

我已经阅读了此文档,但它没有回答以下问题:

从openpyxl.style导入名称样式、字体、边框、边
导入openpyxl
工作簿=openpyxl.workbook()
highlight=NamedStyle(name=“highlight”)
highlight.font=font(粗体=True,大小=20)
bd=侧面(style='thick',color=“000000”)
highlight.border=边框(左=bd,上=bd,右=bd,下=bd)
工作表=工作簿。按工作表名称(“工作表”)获取工作表
图纸['A1']。样式=高亮显示
workbook.save('example.xlsx')

在本例中,我可以为单个单元格设置格式,但我需要在整个工作表中应用该格式。

虽然您可以更改
正常
样式,但这可能不是最好的方法。最好创建样式并将其应用于工作表中的每个单元格。这实际上非常快,可以避免任何不必要的副作用。

虽然您可以改变
正常的
样式,但这可能不是最好的方法。最好创建样式并将其应用于工作表中的每个单元格。这实际上很快就能避免任何不必要的副作用。

使用:

import openpyxl
from openpyxl.styles import NamedStyle

standard_var = NamedStyle(
    name="thounsed_sep",
    number_format='#,###'
)

filename = r"test.xlsx"
wb = openpyxl.load_workbook(filename)
wb.add_named_style(standard_var)
for ws in wb.worksheets:
    for cells in ws.rows:
        for cell in cells:
            cell.style = "thounsed_sep"
wb.save()
这会更改每张图纸所用范围的格式(即用任何文本或数字内容填充的范围)。

使用:

import openpyxl
from openpyxl.styles import NamedStyle

standard_var = NamedStyle(
    name="thounsed_sep",
    number_format='#,###'
)

filename = r"test.xlsx"
wb = openpyxl.load_workbook(filename)
wb.add_named_style(standard_var)
for ws in wb.worksheets:
    for cells in ws.rows:
        for cell in cells:
            cell.style = "thounsed_sep"
wb.save()

这会更改每张工作表所用范围的格式(即,用任何文本或数字内容填充的范围)。

您可以通过
工作表获取当前整个工作表范围。尺寸

sheet[ sheet.dimensions ].style = highlight  

您可以通过
工作表获取当前的整个工作表范围。维度

sheet[ sheet.dimensions ].style = highlight