0
我正在使用Python創建包含openpyxl
包的xlsx
文件。我創建了簡單的表格,我想用垂直條分隔各列。 問題:如何通過openpyxl
創建豎條?是否有可能在openpyxl的表中創建一個垂直條?
我正在使用Python創建包含openpyxl
包的xlsx
文件。我創建了簡單的表格,我想用垂直條分隔各列。 問題:如何通過openpyxl
創建豎條?是否有可能在openpyxl的表中創建一個垂直條?
問題:如何通過openpyxl創建垂直條?
您可以使用款式border
或fill
。
OpenPyXL Working with styles
樣式用於更改數據的外觀,同時顯示在屏幕上。它們也用於確定數字的格式。
例如:
from openpyxl import Workbook
wb = Workbook()
ws = wb.worksheets[0]
data = [['A1', '', 'C1', '', 'E1'], ['A2', '', 'C2', '', 'E2'], ['A3', '', 'C3', '', 'E3'], ['A4', '', 'C4', '', 'E4']]
for row, rData in enumerate(data, 1):
ws.append(rData)
from openpyxl.styles import Side, Border, PatternFill, Color
thin = Side(border_style="thin", color="000000")
thin_white = Side(border_style="thin", color="FFFFFF")
border = Border(left=thin)
fill = PatternFill("solid", fgColor="666666")
from openpyxl.utils import range_boundaries
ws.column_dimensions['B'].width = 1
ws.column_dimensions['D'].width = 0.5
min_col, min_row, max_col, max_row = range_boundaries('B1:D4')
B = 0; D = 2
for row_cells in ws.iter_rows(min_col=min_col, min_row=min_row,
max_col=max_col, max_row=max_row):
row_cells[B].border = border
row_cells[D].fill = fill
row_cells[D].border = Border(left=thin_white, right=thin_white)
wb.save('../test/test.xlsx')
測試與Python 3.4.2 - openpyxl:2.4.1 - LibreOffice的:4.3.3.2
您可以使用樣式'border',閱讀[OpenPyXL使用樣式](https://openpyxl.readthedocs.io/en/default/styles.html) – stovfl
@stovfl,我找到了一個您指向的解決方案。我認爲這將是一個答案。 – BogdanSikach