Calc Direct Cell Font Class (Static)

Setup

from ooodev.loader.lo import Lo
from ooodev.office.calc import Calc
from ooodev.gui import GUI
from ooodev.format.calc.direct.cell.font import Font
from ooodev.format import CommonColor, Styler


def main() -> int:
    with Lo.Loader(Lo.ConnectSocket()):
        doc = Calc.create_doc()
        sheet = Calc.get_sheet()
        GUI.set_visible(True, doc)
        Lo.delay(300)
        Calc.zoom(doc, GUI.ZoomEnum.ZOOM_200_PERCENT)

        cell_obj = Calc.get_cell_obj("A1")
        Calc.set_val(value="Hello", sheet=sheet, cell_obj=cell_obj)
        Calc.set_val(value="World", sheet=sheet, cell_obj=cell_obj.right)

        a1 = Calc.get_cell(sheet=sheet, cell_obj=cell_obj)
        b12 = Calc.get_cell(sheet=sheet, cell_obj=cell_obj.right)

        ft = Font(color=CommonColor.DARK_GREEN)
        Styler.apply(a1, ft)
        Styler.apply(b12, ft.bold.underline)
        Lo.delay(1_000)
        Lo.close_doc(doc)
    return 0


if __name__ == "__main__":
    SystemExit(main())

Examples

Set Text Font

cell_obj = Calc.get_cell_obj("A1")
Calc.set_val(value="Hello", sheet=sheet, cell_obj=cell_obj)
Calc.set_val(value="World", sheet=sheet, cell_obj=cell_obj.right)

a1 = Calc.get_cell(sheet=sheet, cell_obj=cell_obj)
b12 = Calc.get_cell(sheet=sheet, cell_obj=cell_obj.right)

ft = Font(color=CommonColor.DARK_GREEN)
Styler.apply(a1, ft)
Styler.apply(b12, ft.bold.underline)
Styled Text

Fig. 399 Styled Text

Set Font based upon values

import random
# ... other code

num_rng = 5
data = [[random.randint(-100, 100) for _ in range(num_rng)] for _ in range(num_rng)]

cell_obj = Calc.get_cell_obj("A1")
Calc.set_array(values=data, sheet=sheet, cell_obj=cell_obj)
rng_obj = Calc.find_used_range_obj(sheet)

ft_pos = Font(color=CommonColor.DARK_GREEN, b=True)
ft_neg = ft_pos.fmt_color(CommonColor.DARK_RED).underline

for cell_objs in rng_obj.get_cells():
    for co in cell_objs:
        val = Calc.get_num(sheet=sheet, cell_obj=co)
        cell = Calc.get_cell(sheet=sheet, cell_obj=co)
        if val < 0:
            Styler.apply(cell, ft_neg)
        else:
            Styler.apply(cell, ft_pos)
Styled Array

Fig. 400 Styled array