A csomag a Microsoft Office XP Web Components nevet viseli, mely utal arra, hogy több komponens is helyet kapott benne. Ezek tulajdonképpen ActiveX komponensek, melyek kiegészítik az alkalmazások egyes elemeinek funkcionalitását.
Amikor az ilyen módon publikált Office dokumentumokat egy böngészőn keresztül nézi a látogató, akkor lehetősége van arra, hogy rendezze, szűrje, módosítsa az adatokat. Sőt azzal az előnnyel is bírnak, hogy tökéletesen programozhatók, vagyis fejlesztőként funkcionalitásukat programjainkból is elérhetjük.
Cikkünkben a komponenscsomag Spreadsheet nevű elemével ismerkedhetünk meg, mely nevével is sugallja, hogy funkcionalitása az Excel alkalmazáshoz kapcsolódik.
A mellékelt programban létrehoztuk a komponensre hivatkozó referenciát, majd a példányosítottuk a Spreadsheet objektumot.
A referencia hozzáadása úgy történik, hogy az Add reference dialógusablakból kiválasztjuk a Microsoft Office XP Web Component COM komponenst.
A program kódjában az OWC10 karakterlánccal hivatkozhatunk a COM komponens névterére.
A példában a mellékelt Employees.xml állomány tartalmát olvassuk be egy DataSet objektumba, majd jelenítjük meg az adathalmazt egy DataGrid kontrolban. Ezt követően érjük el a Spreadsheet objektumot, és hívjuk meg annak exportáló metódusát, mely egy „Web-képes” Excel állományt generál. Az állomány tartalmazza az XML adatait táblázatos formában.
A példányosítás egyszerűen történik.
SpreadsheetClass xlsheet = new SpreadsheetClass();
Ezt követően a DataSet adatait az objektum celláiba írjuk. Ehhez két ciklust indítunk.
for(int j=0;j<ds.Tables[0].Rows.Count;j++)
{
for(int i=0;i<ds.Tables[0].Columns.Count;i++)
{
xlsheet.ActiveSheet.Cells[j+1,i+1] = ds.Tables[0].Rows[j][i].ToString();
}
}
Nincs más hátra, mint meghívni az objektum Export nevű metódusát, mely elkészíti a paraméterben megadott szempontok szerint az állományt.
xlsheet.Export(Application.StartupPath + "\\" + file, OWC10.SheetExportActionEnum.ssExportActionOpenInExcel,SheetExportFormat.ssExportHTML);
A művelet eredménye HTML alapú lesz, és megnyílik, elindítva egy Excel alkalmazáspéldányt.
A generált állományt elhelyezhetjük egy webes alkalmazás – például egy ASP.NET alkalmazás – mappájában, majd az URL-re hivatkozhatunk a kliens-oldali böngészőben. Ekkor a munkalap betöltődik a felhasználói oldalon.