K používání této funkčnosti je nutné mít nainstalovaný program Excel od společnosti Microsoft.
Excel spustíme robotem pomocí funkce exec_excel_app. Funkce sama najde cestu k binárnímu souboru aplikace Excel. Jako nepovinný parametr se funkci může předat řetězec s cestou na soubor, který se má v aplikaci Excel otevřít. Pozor, cesta k souboru musí být absolutní. Tato metoda vrací objekt třídy AppExcel, tato třída dědí metody po třídě App a je rozšířená o metody, které usnadní práci v programu Excel.
V prvním příkladu spustíme program Excel a otevřeme v něm nový sešit. Nový sešit zpřístupní metoda add_workbook. Opakovaným použitím metody lze otevřít libovolný počet nových sešitů.
Pokud v aplikaci Excel otevřeme alespoň jeden sešit, můžeme ho aktivovat pomocí metod active_workbook nebo active_worksheet. První metoda vrátí objekt třídy ExcelWorkbook, která reprezentuje sešit v Excelu a druhá metoda vrátí objekt třídy ExcelWorksheet, která reprezentuje list. Obě metody v případě, že máme otevřeno více sešitů či záložek, vrátí tu, která je v daném okamžiku aktivní. Udržet si přehled v tom, jestli pracujeme s Excelem, sešitem nebo listem může být ze začátku matoucí a proto je vhodné volit jména proměnných tak, aby byl skript přehledný.
Seznam všech aktuálně otevřených sešitů získáme použitím metody workbooks na instanci třídy AppExcel a seznam všech záložek získáme použitím metody sheets na objekt třídy ExcelWorkbook.
V cyklu se projdou všechny sešity, všechny jejich listy a vytiskne do konzole nejdříve jméno sešitu metodou full_name a pak jméno listu metodou name.
Pokud je tato problematika stále nejasná, doporučujeme předchozí příklad rozšířit o váš sešit, který můžete otevřít metodou exec_excel_app. Podle potřeby můžete pro vaše experimentování přidat další, již vytvořené sešity metodou open, které jako argument předáte absolutní cestu na soubor, který chcete otevřít.
Sešit reprezentuje v UltimateRPA třída ExcelWorkbook. V předchozím příkladu jsme již představili dvě metody, které patří do této třídy a to sheets a full_name.
Změnit aktivní sešit lze metodou activate, která na popředí přenese vybraný sešit. V našem případě se po spuštění Excelu vytvoří dva nové sešity. Po tomto kroku je Sešit2 aktivní. Potom se vytvoří seznam všech sešitů a aktivuje se první sešit (Sešit1), který se přenese do popředí.
Pokud bychom chtěli získat z sešitu instanci listu použijeme metodu active_worksheet. Tato metoda vrátí objekt třídy ExcelWorksheet, který představuje aktuálně aktivní list.
Třída ExcelWorksheet představuje v UltimateRPA list. Z této třídy už jsme již ukázali metodu name, která vrací jméno listu a stejně jako v případě sešitu, se mohou aktivovat listy metodou activate.
Ostatní metody slouží pro výběr buněk, se kterými se bude pracovat. Nejjednodušší z nich je metoda cells, která vrátí objekt třídy ExcelCells, který reprezentuje všechny buňky v daném listu.
Metodě cell se předají dva parametry integer, které představují sloupec a řádek v listu. Metoda vrací objekt třídy ExcelCells představující zvolenou buňku. Pro označení sloupce se nepoužívá abeceda jako je tomu v Excelu, ale číslo, které udává pořadí sloupce. Číslování nezačíná nulou, ale jedničkou. To znamená, že chceme-li získat například buňku A1 (buňka v prvním sloupci a prvním řádku) použijeme tento výraz cell_A1 = worksheet.cell(1, 1)
.
used_range je poslední metoda v této třídě, která opět vrací instanci třídy ExcelCells. V tomto případě se jedná o blok všech použitých buněk.
Třída ExcelCells posune obrazovku na nejnižší možnou úroveň, která představuje buňky Excelu. Vyplnit hodnotu do buňky lze metodou set_value.
Pokud chceme zjistit, jaká hodnota je v buňce obsažená, použijeme metodu value. Pokud je buňka prázdná, metoda vrátí prázdný řetězec. Vrácená hodnota je vždy typu string a to i v případě, že do buňky byl zadán integer.
Pro zjištění sloupce a řádku na kterém se buňka nachází použijeme metody column pro sloupec a row pro řádek. Obě vrací integer s číslem sloupce nebo řádku. Číslovaní začíná od 1.
Ke zjištění počtu sloupců a řádku slouží metody columns_count a rows_count. Obě vracejí integer.
Nasledující příklad je o něco složitější než předchozí. Ukážeme v něm, že k jedné buňce se lze dostat metodou cell na úrovni listu a nebo se k buňce lze dostat na úrovni množiny buněk metodou item. V první části kódu se v diagonále vyplní hodnoty 1 až 10. Pak skript 3 sekundy počká a následně zjistí rozsah obsazených sloupců a řádků. Ty se pak v dalším cyklu vyplní hodnotou 1.
Ovládací prvky Excelu jsou přístupné jako v jakékoliv jiné aplikaci a tak můžeme aplikaci Excel ovládat pomocí myši nebo klávesových zkratek. Například tímto způsobem lze robotem sešit uložit.