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)