Calc Direct Cell Font Class
Setup
from __future__ import annotations
import uno
from ooodev.calc import CalcDoc
from ooodev.loader import Lo
from ooodev.utils.color import CommonColor
def main() -> int:
with Lo.Loader(connector=Lo.ConnectSocket()):
doc = CalcDoc.create_doc(visible=True)
sheet = doc.sheets[0]
Lo.delay(500)
doc.zoom_value(400)
a1 = sheet["A1"]
a1.value = "Hello"
a1.style_font_general(
b=True, color=CommonColor.DARK_GREEN
)
b1 = a1.get_cell_right()
b1.value = "World"
b1.style_font_general(
b=True, u=True, color=CommonColor.DARK_GREEN
)
Lo.delay(1_000)
doc.close()
return 0
if __name__ == "__main__":
SystemExit(main())
Examples
Set Text Font
a1 = sheet["A1"]
a1.value = "Hello"
a1.style_font_general(
b=True, color=CommonColor.DARK_GREEN
)
b1 = a1.get_cell_right()
b1.value = "World"
b1.style_font_general(
b=True, u=True, color=CommonColor.DARK_GREEN
)
Set Font based upon values
from ooodev.format.calc.direct.cell.font import Font
import random
# ... other code
num_rng = 5
data = [[random.randint(-100, 100) for _ in range(num_rng)] for _ in range(num_rng)]
sheet.set_array(values=data, name="A1")
rng_obj = sheet.find_used_range_obj()
ft_pos = Font(color=CommonColor.DARK_GREEN, b=True)
ft_neg = ft_pos.fmt_color(CommonColor.DARK_RED).underline
with doc:
# lock controllers for faster processing and avoid flickering.
for cell_objs in rng_obj.get_cells():
for co in cell_objs:
cell = sheet[co]
val = cell.get_num()
if val < 0:
cell.apply_styles(ft_neg)
else:
cell.apply_styles(ft_pos)