簡體   English   中英

如何使用 openpyxl 在一個單元格中設置不同的字體大小?

[英]How to set different font-size within one cell by using openpyxl?

這是我現在使用的,但我希望它可以在一個單元格中設置不同的字體大小。

例如:

from openpyxl import Workbook
from openpyxl.styles import Font

wb = Workbook('test.xlsx')
sheet = wb.active

sheet['A1'].value = 'Apple Banana'
sheet['A1'].font = Font(size=16)

wb.save('test123.xlsx')

是否可以在單元格內將“Apple”字體大小設置為 10 並將“香蕉”字體大小設置為 20?

Branch 3.1支持富文本。 當然,這是一個開發分支,所以不要依賴它。 它可能會在發布之前發生變化。

import sys

# The directory below should contain another directory "openpyxl"
sys.path.insert(0,"C:\Users\Sleve McDichael\Desktop\openpyxl-branch-3.2")

import openpyxl
from openpyxl.cell.rich_text import TextBlock, CellRichText
from openpyxl.cell.text import InlineFont

wb = openpyxl.Workbook()
ws = wb.active

size_10 = InlineFont(sz=10)
size_20 = InlineFont(sz=20)

ws["A1"] = CellRichText([TextBlock(font=size_10, text="Apple"), TextBlock(font=size_20, text="Banana")])

wb.save(r"C:\Users\Sleve McDichael\Desktop\richtext spreadsheed.xlsx")

電子表格如下所示:

電子表格

看一下:

如何用 XLWINGS 做到這一點

import xlwings as xw


wb = xw.Book('foo.xlsx')
ws = wb.sheets('Sheet1')

# ws.range(1, x).characters[i:i+2].api.Font.Subscript = True
ws.range(1, 1).value = "AppleAndBanana"
ws.range(1, 1).font.size = 10
ws.range(1, 1).characters[0:5].font.size = 32
ws.range(1, 1).characters[8:15].font.size = 16

wb.save()
wb.close()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM