Programovanie pre Excel365 rubrika: Programování: .Net

8 xxar3s
položil/-a 23.3. 13:53

Niektoré záležitosti týkajúce sa mojej firmy mám uložené ako tabulky v exceli. Strašne mi to zjednodušilo život.

úlohy som si automatizoval pomocou VBA (Visual Basic) a mám to previazané aj s inými aplikáciami z Office.

Vo VB je ale peklo niečo napísať obvzlášť keď na syntax som už za 20 rokov zabudol. Ten jazyk je ako z inej planéty (VBA je ešte omnoho horší jazyk ako VB.NET) všetko sa tam robí inak ako som zvyknutý. Pred chvíľou som si tam chcel pridať len pár dorobností ktoré by som v .NET spravil za 5 minút, bohužiaľ mi to trvalo hodinu a pol. VBA nemá ani plnohodnoné OOP ako napriklad VB.NET (pseudo)obejktovo sa tam síce dá programovať ale je to peklo. Taktiež ladenie kódu je nejaké orezané ani sa mi nepodarilo zistiť kde sa zobrazujú chyby.
Chcel by som teda:

  1. prejsť na nejaký kompilovaný .NET jazyk (F# alebo C#) a nejaký normálny editor (posledná verzia Visual Studio)
  2. tie dáta sú dôležité a nemôžem o ne prísť alebo ich nejako prepísať či zničiť, takže by som ich chcel hodiť do serverovej databázy najlepšie SQL Server (mať dáta uložené v súbore v onedrive je hazard)
  3. potom by som chcel nejakú aplikáciu ktorá bude manipulovať s dátami s DB a zobrazí ich v exceli
  4. excel by som chcel používať ako náhradu frontendu (na zobrazovanie a manipuláciu s dátami) tie dáta bude potom aplikačná vrstva zase posielať do DB

Akú technológiu by ste mi doporučili na prepojenie excelu aplikácie a db? Keď si otvorím visual studio tak tu vidím nejaký typ projektu Office/SharePoint ale vôbec nemám poňatia čo to je a ako to funguje. Vedeli by ste ma na niečo odkázať.

Experimentoval som aj Microsoft.Office.Interop.Excel.dll z F# mi to umožnmilo pracovať s aktívnym workbookom, ale robil som to ako FSX skript a nepodarilo sa mi tam spojazdnit eventy vždy mi to pri evente zamrzlo.

odkaz
1 tomas.berny
odpověděl/-a 29.3. 15:04

Ptáš se přesně na to, čím se posledních 10 let zabývám. Ve svém frameworku Pragmatik používám Excel jako frontend pro přístup k SQL databázi, případně k aplikačnímu serveru. Vzhled aplikace je definován excelovskými šablonami, kód je komplet v C#. Pár informací o tom, jak to vypadá, je zde, ale je to spíš jen ukázka možností UI, o technickém pozadí jsem se tam moc nerozepisoval.

Pro Tvé potřeby by se dal použít jak celý Pragmatik, tak případně jen některé technické postup a principy v něm použité. Například pro přístup k Ribbonu (pásu karet) neexistuje žádný objektový model (tak jako existoval v předchozích verzích CommandBars object model), musí se na to přes XML a má to pár zásadních omezení, dalo mi docela zabrat některé z nich hacknout.

Jestli Tě Pragmatik zaujme, tak se ozvi, třeba se na něčem domluvíme...

Komentáře

  • xxar3s : To čo píšeš vyzerá zaujímavo a vpodstate presne niečo také aj hľadám. Len ten odkaz čo si sem dal nefunguje. Btw je to komerčná knižnica akým sposobom sa za to platí? A dá sa to niekde bezplatne vyskúšať? 7.4. 16:21
  • tomas.berny : Odkaz je (www).pragmatik.cz/home/Products/Pragmatik. A ano, je to komerční produkt, prodávám na to licence, ale spíš koncovým uživatelům, kteří si v tom ode mně nechají udělat konkrétní aplikaci. Po vývojářské stránce to je v tuto chvíli až moc těsně navázané na moji vlastní infrastrukturu, pro použití někým jiným by se to muselo rozdělit na několik menších částí. Připravené to na to je, vše je schované za interfacy, ale ještě nebyla potřeba do toho říznout. Když tak napiš nebo zavolej, kontakty mám na webu. 12.4. 19:49

Pro zobrazení všech 5 odpovědí se prosím přihlaste:

Rychlé přihlášení přes sociální sítě:

Nebo se přihlaste jménem a heslem:

Zadejte prosím svou e-mailovou adresu.
Zadejte své heslo.