Excel ve VB projektu   zodpovězená otázka

VB.NET

Zdravím, v mé aplikaci potřebuji udělat nějáké přehledy a excel se jeví jako nejsnažší způsob (nemusím se starat o grafickou stránku). Udělal jsem si tedy potřebné "šablony" (soubory .xls) které jsem přidal do projektu. Chci aby výsledná aplikace byla jeden exe soubor, takže bych do něj potřebova sešity zkompilovat. Nastavil jsem tedy těmto šablonám Build Action na Compile a Copy to output directory na Do not copy. Teď ale nevím jak k dané šabloně přistupovat. Mám například sešit vzor_PL.xls ale nemůžu se na něj programově dostat. Excel jako takový otevřít a někam uložit umím (přidal jsem si reference na excelovské knihovny) ale nevím jak do něj natáhnout příšlušnou šablonu. Chtěl jsem se inspirovat programem na faktury ve wordu který je na tomto webu, ale ten počítá s tím, že šablna bude nakopírována v adresáři s aplikací.

Zřejmě na to jdu od začátku špatně.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

No tak pokud jsou ty soubory zakompilovány v Resources, tak rozhodně otevřít nepůjdou a jediné řešení je načíst je jako Stream a zapsat někam do dočasné složky. Takže toto bych rovnou zavrhnul a distribuoval je jako externí soubory. Dále je třeba si uvědomit, že pokud referencujete COM rozhraní Office aplikací, tak na cílových počítačích kde bude aplikace běžet musí být rovněž instalován Microsoft Office.

nahlásit spamnahlásit spam -2 / 2 odpovědětodpovědět

Díky za reakci.

To že na cílových počítačích musí být MS Office vím a počítám s tím. Aplikaci budu distribuovat v rámci naší firmy kde jsou na všech PC MS Office součástí instalačního image.

Jen se chci vyhnout nutnosti distribuovat více souboru, protože když vidím jaký je problém někomu vysvětlit jaký je rozdíl mezi stáhnout si soubor a vytvořit zástupce ani nedomýšlím co by se dělo v tomto případě. Ještě mě napadlo šablony uložit někam na stále síťové uložiště. Pokud bych je neuložil jako xls ale jako šablonu sešitu excel, nemusel by být ani problém při pokusu o otevření více uživateli najednou.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Nevím jaký je problém zkopírovat kromě exe ještě několik xls/xlt... Přistupovat k tomu ze síťového disku bych rozhodně nedoporučoval, protože s tím mohou být takové problémy, jaké si ani nedovedete představit (ať už ze strany neošetřených vyjímek v aplikaci nebo ze strany debility uživatelů).

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Ok díky, zkusím ještě přijít na nějáké jiné možnosti.

Btw debilita uživatelů je hlavní dúvod, proč chci distribuovat jenom excáč, protože si buď nestáhnou šablony, popřípadě si je vymažou/přepíšou nebo bůh ví čeho jsou schopný a na mě pak budou nadávat že jim to něják nefunguje.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Nakonec jsem to tedy vyřešil tak, že šablony musí být v adresáři Templates ve složce s aplikací. Pokud tam nejsou, šablony se stáhnou ze sítě. Pořád to ale neřeší problém kdy sice šablona bude na svém místě, ale uživatel v ní provede nějákou změnu (něco smaže nebo zpřehází) takže šablona nebude pro tiskový výstup použitelná. Zkusím zjistit zda jdou šablony nějákým způsobem zamknout pro změnu formátu.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Pokud nepůjdou zamknout, lze souborům nastavit atribut pouze pro čtení, případně odepřít přístup pro zápis pomocí Windowsovského oprávnění.

nahlásit spamnahlásit spam -2 / 2 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback