Darko Jovišić
Avanture u IT-u
Live Search
Blog
ponedjeljak, kolovoz 20, 2007

Vrijeme je da krenemo i sa konkretnim primjerom. Kao preduvjet za rad aplikacije morate imati instaliranu SQL Server 2005 ili SQL Server 2005 Express. Express ediciju možete skinuti ovdje. Nakon što ste instalirali SQL potrebno je instalirati Adventure Works sample bazu koju možete skinuti ovdje. I na kraju potrebno je u Adventure Works bazi kreirati dvije stored procedure koje možete skinuti ovdje.

Nakon što ste obavili pripremne radnje možemo preći na samu aplikaciju. Na screenshotu aplikacije možete vidjeti da je podijeljena na tri dijela. Plavi dio su postavke. Connection string vjerojatno nećete morati mijenjati, a folder odredite kako vama paše. U crvenom dijelu aplikacije vrši se dohvat narudžbe iz baze po ID-u narudžbe, nakon čega se popunjava treeview u kojem možete vidjeti dohvaćene podatke. Nakon toga možete kliknuti na "Generiraj Word dokument" nakon čega će se dokument pojaviti u zadanom folderu. Nakon što ste promijenili npr. iznos narudžbe snimite dokument i zatim u žutom dijelu učitajte taj isti dokument čime se popunjava treeview. Usporedbom između dva treeviewa možete vidjeti što se promjenilo u podacima. Na slici vidite markirane vrijednosti. Iz baze je dohvaćen iznos 600.00, a korisnik je promjenio taj iznos u 1000.00. Klikom na "Ažuriraj bazu podataka" narudžba se ažurira u bazi.



Ovdje možete skinuti kompajliranu aplikaciju (potrebno je imati .NET Framework 2.0 runtime). U folderu se nalazi izvršna datoteka aplikacije i predložak (word dokument) u kojeg se kasnije stavljaju podaci. Probajte se poigrati sa aplikacijom. Ukoliko ima bugova molim da mi ostavite komentar, jer nisam previše testirao aplikaciju.

E sad dio koji se tiče samog programiranja. Ja sam za programiranje koristio Microsoft SDK for Open XML Formats kojeg možete skinuti ovdje. S njim dobijate i dokumentaciju sa primjerima koja mi je bila jako korisna. Ovaj SDK koristio sam za kreiranje, čitanje i obradu Word dokumenta te za dodavanje i čitanje customXML dijela i njegovo mapiranje na kontrole u dokumentu. Dokumentaciju možete proučiti i online na MSDN-u. Ukoliko zapnete postoji i MSDN forum. Ostatak koda je zapravo spajanje na bazu i ažuriranje, ništa posebno. Ovdje možete skinuti cijeli Visual Studio 2005 projekt. Nastojao sam kod malo iskomentirati tako da znate gdje se što događa.

Neću komentirati svaku liniju koda na blogu jer bi mi trebalo još pet postova da to sve objasnim. Stoga preporučam da skinete projekt pogledate source i isprobate aplikaciju. Ukoliko vam nešto nije jasno u kodu stojim vam na raspolaganju.

Za kraj dat ću vam i neke linkove koji vam mogu pomoći pri programiranju OpenXML aplikacija:
http://www.openxmldeveloper.org (glavni portal za OpenXML developere)
MSDN članak: "Uvod u Office Open XML format"
Open XML Package Explorer (zgodan alat za browsanje po dijelovima dokumenta)
Word 2007 Content Control Toolkit (alat za mapiranje word kontrola sa customXML)


darkojo @ 15:02 |Komentiraj | Komentari: 2 | Prikaži komentare
Opis bloga
Zovem se Darko Jovišić i radim u tvrtci Microsoft Hrvatska. Na ovom blogu bavim se svim novostima prvenstveno vezanim za Microsoft tehnologije, ali i drugim IT novostima. Stavovi izraženi na ovom blogu su moji osobni stavovi, i ne predstavljaju službene stavove tvrtke u kojoj radim.

RSS
RSS Feed:
AddThis Feed Button

Bookmark & share:


Technorati:
Dodaj u Technorati Favorites


Dodaj u Live Messenger:
Windows Live Alerts

 
Hrvatski IT blogovi

Microsoft:

Luka Abrus
Technology Specialist 

Ratko Mutavdžić
DPE Manager / National Technology Officer

Vjekoslav Babić
Konzultant za Microsoft Dynamics proizvode

Vibor Cipan (engl.)
UX Specialist

Student blogovi:

Ilija Brajković
Mirosoft Student Partner

Community blogovi:

Robert Petrunić (engl.)
Algebra

Tomislav Bronzin (engl.)
Citus

Vladan Strigo (engl.)
Netmedia

Ognjen Bajić (engl.)
Ekobit

Luka Gospodnetić (engl.)
In2

Dario Fruk (engl.)
Viadis

Neno Loje (engl.)
ThinkTecture

Tomislav Kralj
Aktiva Info

Dobriša Adamec
Trigger

Nenad Marjanović
ECS

Index.hr
Nema zapisa.