SAPUI5 do Excelu? Export dat bez OData (téměř)!

Ve společnosti coalsoft pokračujeme v hledání praktických řešení pro složité scénáře cloudových aplikací a tentokrát se zaměřujeme na běžnou výzvu: export dat z aplikací SAPUI5, když není k dispozici dedikovaná OData služba.

17.04.2025

Tento problém se často vyskytuje při rozšiřování cloudových aplikací, jako je SAP SuccessFactors nebo SAP Ariba, které poskytují pouze obecnou OData službu, což ztěžuje export filtrovaných dat do užitečných formátů, jako je Excel. Ale jak vysvětluje náš SAP Developer Architect Petr Bečka, existuje elegantní řešení využívající sap.ui.export.Spreadsheet.

Problém: Žádná dedikovaná OData služba

Mnoho cloudových aplikací neproviduje dedikovanou OData službu pro každý konkrétní případ použití. Například v SAP SuccessFactors nemusíte mít individuální službu pro každý dataset nebo report. To ale neznamená, že nemůžete získat svá data v použitelné formě.

Využitím obecné OData služby můžeme zachytit filtry a nastavení výběru od uživatele a použít je k exportu přesně těch dat, která uživatel potřebuje. „I když tento scénář není tak přímý, jako u aplikací s dedikovanou OData službou, stále nabízí rychlé a efektivní řešení pro export dat do Excelu,“ vysvětluje Petr Bečka.

Řešení: Použití SmartTable a exportu do Excelu

V SAPUI5 je SmartTable populární způsob zobrazení dat, protože jej lze přizpůsobit pomocí filtrů, sloupců a možností řazení. Jak přistupujeme k procesu exportu dat do Excelu bez dedikované OData služby?

  1. Zachycení filtrů a nastavení výběru

    Pomocí předplatného beforeRebindTable event ve SmartTable můžeme zachytit aktuální filtry a vybrané sloupce, které uživatel nastavil. To nám umožňuje dynamicky exportovat pouze ta data, která jsou relevantní pro aktuální zobrazení uživatele.

  2. Získávání dat

    Jakmile uživatel klikne na tlačítko Exportovat do Excelu, můžeme použít zachycené filtry a parametry výběru k volání obecné OData služby (například té ve SAP SuccessFactors) a získat požadovaná data.

  3. Ukládání dat do JSONModel

    Po získání dat je uložíme do JSONModel, který je kompatibilní s sap.ui.export.Spreadsheet.

  4. Exportování do Excelu

    Nakonec se data naformátují a exportují pomocí sap.ui.export.Spreadsheet API. Definujeme sloupce, datové typy a nastavení souboru, abychom vytvořili jasný a přesný Excel soubor.

Postup krok za krokem

Výhody a rozšíření

Toto řešení je zvláště užitečné, když pracujete se stávajícími cloudovými aplikacemi, kde nemusí být k dispozici specifická OData služba. Využitím obecné OData služby a sap.ui.export.Spreadsheet mohou vývojáři rychle přidat funkci exportu do Excelu, aniž by bylo nutné provádět složité úpravy na backendu.

Další výhody zahrnují:

  • Dynamické definice sloupců: Sloupce můžete definovat dynamicky na základě metadat SmartTable.
  • Pokročilé formátování: Zobrazení ikon nebo formátování buněk je podporováno, ale vyžaduje další konfiguraci.
  • Paginace: Pokud je dataset příliš velký, zvažte přidání paginace nebo asynchronního stahování dat, abyste předešli přetížení služby.

Použitím SAPUI5 a obecné OData služby jsme vytvořili elegantní a efektivní způsob exportu dat z cloudových aplikací do Excelu, aniž bychom potřebovali dedikovanou OData službu. Tento přístup je obzvlášť užitečný pro SAP SuccessFactors nebo jiné cloudové aplikace, kde nejsou vždy k dispozici vlastní služby.

„Tento přístup zlepšuje efektivitu, snižuje potřebu vlastního vývoje na backendu a poskytuje koncovým uživatelům schopnost exportovat přesně ta data, která právě vidí, v formátu, který je snadno použitelný,“ dodává Petr Bečka.

Těšíme se na vaše názory na tento přístup a na diskusi o dalších vylepšeních!

Coalsoft

Využívejte Váš SAP moderně a naplno.

Zásady použvání cookies