HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Műveletek Excel-állományokkal


Windows Script Host lehetőségei 10. rész

Példaprogram letöltése

9009 bájt

A sorozat ezt megelőző számaiban mutattunk példát olyan esetekre, amikor a Microsoft Office programcsomag Word alkalmazását értük el parancsállományunkból. Cikksorozatunk mostani számában megismerkedhetünk azzal, hogy miként érhetjük el a programcsomag Excel alkalmazását. A cikkben létrehozunk egy állományt, és annak első munkalapján egy formázott táblázatot.

A példaprogramban a Form-ra feltettünk egy DataGrid kontrolt, szemléltetendő, hogy milyen adatok jelennek meg a létrehozandó Excel munkalapon. A program indulásakor a rács tartalmát az alkalmazás mappájában található products.xml állományból töltjük be. Az egyszerűség kedvéért az Excel táblázatot nem ebből hozzuk létre, ez csupán a minta.
A műveletet a Wsh10.wsf állományban található kód végzi el, melyet a LÉTREHOZÁS gomb megnyomásakor futtatunk le a Process osztály Start metódusának segítségével.
A Wsh10.wsf állomány futáskor két paramétert kap. Az első paraméter egy elérési útvonal – annak a mappának az elérési útvonala, melyben az állományt létrehozzuk (például C:\test) -, a második paraméter pedig egy szám, amely meghatározza, hogy az állomány XLS, vagy HTML kiterjesztést kapjon. Az űrlapra helyezett jelölőnégyzettel lehet jelezni, hogy a mentés HTML formátumban történjen.
Az állományok mindegyike a megadott rendszermeghajtó gyökerében létrehozott /test mappába kerül.
Lássuk tehát, hogyan lehet egy formázott táblázatban elhelyezni az adatokat. Első lépés, hogy létrehozunk egy példányt az Excel.Application objektumból.
var excelApp = WScript.CreateObject("Excel.Application");
Létrehozunk egy új munkafüzetet.
var newWB = excelApp.Workbooks.Add();
Ennek első, Munka1 nevű lapjára hivatkozunk.
var sheet1 = newWB.Worksheets("Munka1");
A létrehozandó táblázat egy 6x3-as mátrix lesz, mely egy tömbként is kezelhető. Ekkor minden utasítás a tömb egészére vonatkozik. Ehhez használjuk a Range objektumot. A tömb egészét megformázzuk az AutoFormat metódussal, amelyben az első paraméter vonatkozik a formázó stílusra.
sheet1.Range("B1:D6").AutoFormat(8,true,true,true);
A táblázat fejléce lesz az „ID”, „Name”, és a „Price” felirat. Ekkor már a cellákra, mint önálló egységekre hivatkozunk.
sheet1.Cells(1,2).Value = "ID";
sheet1.Cells(1,3).Value = "Name";
sheet1.Cells(1,4).Value = "Price";
A táblázat értékeit ezzel analóg módon írjuk az állományba.
Utolsó lépésként megvizsgáljuk, hogy a második parancssori argumentum milyen értékű. Amennyiben 0, vagyis a jelölőnégyzet nem volt jelölt, akkor a létrehozandó állomány xls kiterjesztésű, egyébként html.
if (saveType == 0)
{
  newWB.SaveAs(newFile + "\\sample.xls");
}
else
{
  newWB.SaveAs(newFile + "\\sample.html",44);
}
Az utóbbi esetben az xlFileFormat konstans értékét kell helyesen megadni, mely jelen esetben az xlHtml értéknek megfelelő szám, vagyis 44.



Könyv
Ez a cikk megtalálható ebben a könyvben: C# Software Offline 2003 évkönyv 293. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |