python-3.x 尝试用openpyxl在合并的单元格中换行文本

zf2sa74q  于 2023-08-08  发布在  Python
关注(0)|答案(1)|浏览(213)


I在合并单元格内换行时遇到问题。顶部标题是我想要的,但我的代码给了我底部标题。有人知道我在这里错过了什么吗?

worksheet.cell(row = 1, column = 6).value = 'text to be wrapped'
worksheet.merge_cells('F1:I1')
worksheet['F1'].alignment = Alignment(vertical = "top", horizontal = "center", wrap_text = True)

字符串

xxls0lw8

xxls0lw81#

如前所述,代码工作,您应该能够通过检查功能区主页选项卡,对齐部分和/或单元格格式设置(右键单击“格式单元格”-->对齐选项卡)看到。
从您的图像看,似乎没有应用对齐,如果是这样,这似乎parculiar为您的安装。我建议你仔细检查你正在寻找正确的工作书/工作表,并确保你的Openpyxl版本是最新的版本。
如果有帮助的话;
由于单元格对齐参数的设置对于默认大小可能不明显,尽管示例屏幕截图已经调整了行、列和字体的大小,下面的代码包括设置这些参数,类似于示例屏幕截图。代码创建了一个新的工作簿/工作表,但显然这些设置可以应用于现有的工作表。

from openpyxl import Workbook
from openpyxl.styles import Alignment, Font, PatternFill

### Set Font
font_style = Font(
   name="Calibri",
   b=True,
   color="000000",
   sz=20.0,
)
### Fill Colour
fuchsia_fill = PatternFill(start_color="F4B084", end_color="F4B084", fill_type ="solid")

### Create Work Book & Sheet
wb = Workbook()
worksheet = wb.active

### Add Text to the top left cell
worksheet.cell(row=1, column=6).value = 'Registration Renewals Report for May 2023'
### Merge top left cell with the next 3 cells
worksheet.merge_cells('F1:I1')
### Set column and row sizing
worksheet.column_dimensions['F'].width = 18
worksheet.column_dimensions['I'].width = 16
worksheet.row_dimensions[1].height = 52
### Apply the font and alignment and fill to the top left cell
topleftcell = worksheet['F1']
topleftcell.font = font_style
topleftcell.alignment = Alignment(vertical="top", horizontal="center", wrap_text=True)
topleftcell.fill = fuchsia_fill

### Save workbook
wb.save('foo.xlsx')

字符串
您应该期望得到如下x1c 0d1x的头文件

相关问题