Vélemények

Excel lapok szerkesztése a Delphi és az ADO segítségével

Excel lapok szerkesztése a Delphi és az ADO segítségével


We are searching data for your request:

Forums and discussions:
Manuals and reference books:
Data from registers:
Wait the end of the search in all databases.
Upon completion, a link will appear to access the found materials.

Ez a lépésről lépésre bemutatja, hogyan lehet csatlakozni a Microsoft Excelhez, kinyomtatni a lapadatokat és engedélyezni az adatok szerkesztését a DBGrid használatával. Talál egy listát a leggyakoribb hibákról is, amelyek a folyamat során előfordulhatnak, valamint arról, hogyan kell kezelni azokat.

Mi vonatkozik alább:

  • Adatok adatátvitelének módjai az Excel és a Delphi között. Hogyan lehet csatlakozni az Excelhez az ADO (ActiveX Data Objects) és a Delphi segítségével.
  • Excel táblázatkezelő létrehozása Delphi és ADO használatával
  • Az adatok letöltése az Excelből. Táblázat (vagy tartomány) hivatkozása egy Excel munkafüzetben.
  • Vita az Excel mező (oszlop) típusairól
  • Az Excel lapok módosítása: sorok szerkesztése, hozzáadása és törlése.
  • Adatok átvitele a Delphi alkalmazásból az Excelbe. Hogyan hozhat létre munkalapot, és kitölti azt egy MS Access adatbázis egyedi adataival?

Csatlakozás a Microsoft Excelhez

A Microsoft Excel egy hatékony táblázatkezelő és adatelemző eszköz. Mivel az Excel munkalap sorai és oszlopai szorosan kapcsolódnak az adatbázis tábláinak soraihoz és oszlopaihoz, sok fejlesztő helyénvalónak tartja, hogy adataikat elemzés céljából egy Excel munkafüzetbe szállítsák; majd az adatok visszakeresése az alkalmazásba utána.

Az alkalmazás és az Excel közötti adatcsere leggyakrabban alkalmazott megközelítéseAutomatizálás. Az automatizálás lehetővé teszi az Excel adatok elolvasását az Excel Object Model segítségével, hogy belemerülhessen a munkalapba, kibonthassa az adatait, és rácsszerű komponensben, azaz a DBGrid vagy a StringGrid megjeleníthesse azokat.

Az automatizálás biztosítja a legnagyobb rugalmasságot az adatok munkafüzetben való megkeresésében, valamint a munkalap formázásának és a futási időn belüli különböző beállításoknak a lehetőségét.

Az adatok automatizálás nélküli átvitele az Excel programba és az Excel programból, más módszerekkel, például:

  • Írjon adatokat vesszővel elválasztott szövegfájlba, és hagyja, hogy az Excel elemzi a fájlt cellákba
  • Adatok továbbítása a DDE (dinamikus adatcsere) használatával
  • Adatok átvitele a munkalapra és az onnan az ADO segítségével

Adatátvitel ADO segítségével

Mivel az Excel JET OLE DB kompatibilis, az ADO (dbGO vagy AdoExpress) használatával kapcsolódhat hozzá a Delphi-hez, majd SQL lekérdezés útján beolvashatja a munkalap adatait ADO adatkészletbe (ugyanúgy, mintha egy adatkészletet bármilyen adatbázis-táblához nyitna). .

Ilyen módon az ADODataset objektum összes módszere és szolgáltatása elérhető az Excel adatok feldolgozásához. Más szavakkal, az ADO-összetevők segítségével létrehozhat egy alkalmazást, amely adatbázisként Excel munkafüzetet használhat. További fontos tény, hogy az Excel egy folyamaton kívüli ActiveX szerver. Az ADO folyamatban fut, és megtakarítja a költséges, a folyamaton kívüli hívások költségeit.

Amikor az ADO segítségével csatlakozik az Excelhez, csak nyers adatokat cserélhet a munkafüzetbe és a munkafüzetből. Az ADO-kapcsolat nem használható a lapok formázására vagy a képletek cellákra történő végrehajtására. Ha azonban az adatokat egy előre formázott munkalapra továbbítja, akkor a formátum megmarad. Miután az adatokat beillesztették az alkalmazásból az Excelbe, bármilyen feltételes formázást elvégezhet egy (előre rögzített) makró segítségével a munkalapon.

Csatlakozhat az Excelhez az ADO használatával az MDAC részét képező két OLE DB szolgáltatóval: a Microsoft Jet OLE DB szolgáltatóval vagy a Microsoft OLE DB szolgáltatóval az ODBC illesztőprogramokkal. A Jet OLE DB szolgáltatóra összpontosítunk, amely az Excel munkafüzetek adataihoz telepíthető, indexelt szekvenciális hozzáférési módszer (ISAM) illesztőprogramokon keresztül érhető el.

Tipp: Nézze meg a Delphi ADO adatbázis-programozás kezdő tanfolyamát, ha még nem ismeri az ADO-t.

A ConnectionString varázslat

A ConnectionString tulajdonság megmondja az ADO-nak, hogyan kell csatlakozni az adatforráshoz. A ConnectionStringhez használt érték egy vagy több argumentumból áll, amelyeket az ADO használ a kapcsolat létrehozására.

Delphiben a TADOConnection összetevő beágyazja az ADO kapcsolat objektumát; megosztható több ADO adatkészlettel (TADOTable, TADOQuery stb.) a kapcsolat tulajdonságain keresztül.

Az Excel-hez való csatlakozáshoz egy érvényes kapcsolati karakterlánc csak két további információt tartalmaz - a munkafüzet teljes elérési útját és az Excel fájl verzióját.

A legális kapcsolati karakterlánc így néz ki:

ConnectionString: = 'Szolgáltató = Microsoft.Jet.OLEDB.4.0; Adatforrás = C: MyWorkBooks myDataBook.xls; Bővített tulajdonságok = Excel 8.0;';

Ha csatlakozik egy külső adatbázis-formátumhoz, amelyet a Jet támogat, a kapcsolat kiterjesztett tulajdonságait be kell állítani. Esetünkben, amikor csatlakozik egy Excel "adatbázishoz", a kiterjesztett tulajdonságokkal állíthatjuk be az Excel fájl verzióját.

Egy Excel95 munkafüzetnél ez az érték "Excel 5.0" (idézőjelek nélkül); használja az "Excel 8.0" szoftvert az Excel 97, Excel 2000, Excel 2002 és ExcelXP programokhoz.

Fontos: Használnia kell a Jet 4.0 szolgáltatót, mivel a Jet 3.5 nem támogatja az ISAM illesztőprogramokat. Ha a Jet szolgáltatót 3.5-ös verzióra állítja, akkor a "Nem található a telepíthető ISAM" hibát kapja.

Egy másik Jet kiterjesztett tulajdonság a "HDR =". "HDR = Yes" azt jelenti, hogy van egy fejléc sor a tartományban, így a Jet nem tartalmazza a kiválasztás első sorát az adatkészletbe. Ha a "HDR = Nem" van megadva, akkor a szolgáltató a tartomány (vagy elnevezett tartomány) első sorát tartalmazza az adatkészletbe.

A tartomány első sorát alapértelmezés szerint fejléc sornak tekintik ("HDR = Igen"). Ezért, ha oszlopfejléce van, akkor nem kell megadnia ezt az értéket. Ha nem rendelkeznek oszlopfejlécekkel, meg kell adnia a "HDR = Nem" értéket.

Most, hogy készen állsz, ez a rész, ahol a dolgok érdekessé válnak, mivel készen állunk valamilyen kódra. Lássuk, hogyan lehet létrehozni egy egyszerű Excel Spreadsheet szerkesztőt a Delphi és az ADO használatával.

Jegyzet: Folytassa akkor is, ha nincs ismerete az ADO és a Jet programozásról. Mint látni fogja, az Excel munkafüzet szerkesztése olyan egyszerű, mint az adatok szerkesztése bármely szokásos adatbázisból.


Video, Sitemap-Video, Sitemap-Videos