Indítsuk el a Visual Studio-t és hozzunk létre egy Console projektet, amelyenek a neve legyen ConsoleExcel1 (1. ábra).
1. ábra A Console projekt létrehozása
A projektünkhöz hozzá kell adni a Microsoft.Office.Interop.Excel szerelvényt. Ezt a Solution Explorer Reference könyvtáránál tudjuk megtenni (2. ábra). Természetesen telepíthető ez a szerelvény a NuGet-ként is.
2. ábra A Microsoft.Office.Interop.Excel szerelvény hozzáadása a projektünkhöz
Készítsünk most egy excel file-t (3. ábra), amelynek a tartalmát kiolvassuk, illetve módosítani is fogjuk.
3. ábra A felhasznált excel file
Az első programunk segítségével a cellák értékeit tudjuk kiolvasni. Először beolvassuk az excel file-t, majd létrehozzuk az ExcelApp nevű példányt az Application osztályból. Ez az osztály több névtérben, szerelvényben is megtalálható, ezért írtuk ki ennek az osztálynak a teljes elérési útvonalát.
Ezt követően megnyitjuk a file-unkat, és megadjuk azt is, hogy melyik lapból ("Munka1") akarunk adatokat kiolvasni.
Az "ieR" változóban tároljuk el a felhasznált sorok számát, majd az első oszlop celláit kiolvassuk és megjelenítjük a for ciklus segítségével.
class Program
{
static void Main(string[] args)
{
string fileNev = "d:\\WebElektronika\\pelda.xlsx";
Microsoft.Office.Interop.Excel.Application ExcelApp =
new Microsoft.Office.Interop.Excel.Application();
Microsoft.Office.Interop.Excel.Range ieR;Microsoft.Office.Interop.Excel.Workbook wb = ExcelApp.Workbooks.Open(fileNev);
Microsoft.Office.Interop.Excel.Worksheet sh = wb.Sheets["Munka1"];
Microsoft.Office.Interop.Excel.Range excelRange = sh.UsedRange;
ieR = sh.UsedRange;
for (int i = 2; i < ieR.Rows.Count + 1; i++)
{
Console.WriteLine(sh.Cells[i, 1].Value.ToString());
}
Console.ReadLine();
}
}
A Console ablakon megjelenítjük a hét napjait, tehát kiíratjuk az első oszlop tartalmát (4. ábra).
4. Az excel file első oszlopában lévő cellák tartalmának megjelenítése
Érdekességképpen megjegyezzük, hogy a .NET4-től megjelent a "dynamic" (5. ábra), amelyre a közeljövőben visszatérünk még. Annyit érdemes most tudnunk róla, hogy a dynamic-okat hiába keressük az Intellisense-ben....
5. ábra A dynamic típus
Módosítsuk most az előző programot, hiszen most nem kiolvasni szeretnénk, hanem az excel file-unkba fogunk írni. Ehhez a következő módosítások szükségesek :
class Program
{
static void Main(string[] args)
{
string fileNev = "d:\\WebElektronika\\pelda.xlsx";
Microsoft.Office.Interop.Excel.Application ExcelApp =
new Microsoft.Office.Interop.Excel.Application();Microsoft.Office.Interop.Excel.Workbook wb = ExcelApp.Workbooks.Open(fileNev);
Microsoft.Office.Interop.Excel.Worksheet sh = wb.Sheets["Munka1"];
sh.Cells[3, 3].Value2 = "WebElektronika";
sh.Cells[5, "C"].Value2 = "http://webelektronika.com";ExcelApp.SaveWorkspace();
Console.WriteLine("OK");
Console.ReadLine();
}
}
A programunk első része lényegében változatlan, sh.Cells-nél adjuk meg az adott cella koordinátáját. Fontos, hogy nem 0-tól, hanem 1-től indul az indexelés, illetve láthatjuk azt is, hogy az adott cellát meghivatkozhatjuk számmal, de az oszlopokat akár karakterrel is.
A programunk futtatásakor megjelenik a "Mentés" ablak, ahol az "új" excel file-unknak adhatunk másik nevet a mentéskor (6. ábra).
6. ábra A "Mentés" ablak segítségével el tudjuk menteni a módosított excel file-t
Indítsuk el most az Excel-t és nyissuk meg a módosított excel file-unkat! Láthatjuk, hogy a két sor beírása sikeres volt (7. ábra).
7. ábra Az új excel file tartalma
Ebben a cikkben bemutatjuk a metódusok alapjait. Nem érintjük viszont például a túlterhelést, ezt egy következő részben tekintjük át.. . . .
A sorozatunknak ebben a részében átnézzük általánosságban az osztályok alapjait egy konzolalkalmazás segítségével. A konstruktorok viszont a következő részben kerülnek bemutatásra.. . . .
Ebben a cikkben megismerjük a C# nyelv által használt változók nagy részét. Nézünk egy példát a típuskonverzióra.. . . .