Prieiga prie „MS Excel“ lapų ir jų tvarkymas naudojant „Delphi“

click fraud protection

Šiame nuosekliame vadove aprašoma, kaip prisijungti prie „Microsoft Excel“, nuskaityti lapo duomenis ir įgalinti duomenų redagavimą naudojant „DBGrid“. Taip pat rasite dažniausiai pasitaikančių klaidų, kurios gali atsirasti procese, sąrašą, taip pat nurodysite, kaip jas pašalinti.

Kas aprašyta žemiau:

  • Duomenų perdavimo tarp "Excel" ir "" metodai Delfi. Kaip prisijungti prie "Excel" su ADO („ActiveX“ duomenų objektai) ir „Delphi“.
  • „Excel“ skaičiuoklės redaktoriaus kūrimas naudojant „Delphi“ ir „ADO“
  • Duomenų gavimas iš „Excel“. Kaip nurodyti lentelę (arba diapazoną) „Excel“ darbaknygėje.
  • Diskusija apie „Excel“ lauko (stulpelio) tipus
  • Kaip modifikuoti „Excel“ lapus: redaguoti, pridėti ir ištrinti eiles.
  • Duomenų perkėlimas iš „Delphi“ programos į „Excel“. Kaip sukurti darbalapį ir užpildyti jį tinkintais duomenimis iš „MS Access“ duomenų bazės.

Kaip prisijungti prie „Microsoft Excel“

„Microsoft Excel“ yra galingas skaičiuoklių skaičiuoklė ir duomenų analizės įrankis. „Excel“ darbalapio eilutės ir stulpeliai yra glaudžiai susiję su duomenų bazės lentelės eilutėmis ir stulpeliais, daugelis kūrėjų mano, kad analizės tikslais jų duomenis reikia perkelti į „Excel“ darbaknygę; ir po to nuskaitykite duomenis į programą.

instagram viewer

Dažniausiai naudojamas metodas keičiantis duomenimis tarp jūsų programos ir „Excel“ Automatika. Automatizavimas suteikia galimybę perskaityti „Excel“ duomenis naudojant „Excel Object Model“, kad būtų galima pasinerti į darbalapį, išgauti jo duomenis ir parodyti juos į tinklelį primenantį komponentą, ty „DBGrid“ ar „StringGrid“.

Automatizavimas suteikia didžiausią lankstumą nustatant duomenis darbaknygėje, taip pat galimybę formatuoti darbalapį ir atlikti įvairius parametrus vykdant.

Norėdami perkelti duomenis į „Excel“ ir iš jų be automatizavimo, galite naudoti kitus metodus, tokius kaip:

  • Įrašykite duomenis į kableliais atskirtą tekstinį failą ir leiskite „Excel“ parsisiųsti failą į langelius
  • Perduokite duomenis naudodami DDE (Dynamic Data Exchange)
  • Perkelkite duomenis į darbalapį ir iš jo naudodami ADO

Duomenų perdavimas naudojant ADO

Kadangi „Excel“ atitinka JET OLE DB, galite prie jo prisijungti naudodamiesi ADO („dbGO“ arba „AdoExpress“) su „Delphi“ ir nuskaityti darbalapio duomenys į ADO duomenų rinkinį išleidžiant SQL užklausą (kaip ir atidarius duomenų rinkinį bet kurioje duomenų bazėje) stalas).

Tokiu būdu visi „ADODataset“ objekto metodai ir funkcijos yra prieinami „Excel“ duomenims tvarkyti. Kitaip tariant, naudojant ADO komponentus galite sukurti programą, kuri kaip duomenų bazę gali naudoti „Excel“ darbaknygę. Kitas svarbus faktas yra tai, kad „Excel“ yra nebenaudojamas procesas „ActiveX“ serveris. ADO vykdo procesą ir taupo brangių ne proceso metu veikiančių skambučių išlaidas.

Prisijungdami prie „Excel“ naudodamiesi ADO, galite keistis neapdorotais duomenimis tik iš darbaknygės ir iš jos. ADO jungtis negali būti naudojama formuojant lakštus ar įgyvendinant formules į ląsteles. Tačiau, jei perkelsite duomenis į iš anksto suformatuotą darbalapį, jis išlaikomas. Įrašę duomenis iš programos į „Excel“, galite atlikti bet kokį sąlyginį formatavimą naudodami (iš anksto įrašytą) makrokomandą darbalapyje.

Galite prisijungti prie „Excel“ naudodami ADO su dviem OLE DB teikėjais, kurie yra MDAC dalis: „Microsoft Jet OLE DB Provider“ arba „Microsoft OLE DB Provider“, skirtu ODBC tvarkyklėms. Mes sutelksime dėmesį į „Jet OLE DB Provider“, kurį galima naudoti norint pasiekti duomenis „Excel“ darbaknygėse naudojant įdiegiamas indeksuojamos nuosekliosios prieigos metodo (ISAM) tvarkykles.

Patarimas: Žr Pradedančiųjų kursai į Delfus ADO duomenų bazės programavimas, jei esate naujokas ADO.

„ConnectionString“ magija

„ConnectionString“ ypatybė nurodo ADO, kaip prisijungti prie duomenų šaltinio. „ConnectionString“ naudojamą reikšmę sudaro vienas ar keli argumentai, kuriuos ADO naudoja ryšiui užmegzti.

Delfuose TADOConnection komponentas apima ADO ryšio objektą; jis gali būti bendrinamas keliais ADO duomenų rinkinių („TADOTable“, „TADOQuery“ ir kt.) komponentais per jų Ryšio savybes.

Norint prisijungti prie „Excel“, galiojanti ryšio eilutė apima tik du papildomus duomenis - visą kelią į darbaknygę ir „Excel“ failo versiją.

Teisėta ryšio eilutė gali atrodyti taip:

ConnectionString: = 'Teikėjas = Microsoft. Reaktyvinis. Duomenų šaltinis = C: \ MyWorkBooks \ myDataBook.xls; Išplėstinės savybės = Excel 8.0; ';

Prisijungiant prie išorinio duomenų bazės formato, kurį palaiko „Jet“, reikia nustatyti išplėstas ryšio ypatybes. Mūsų atveju, prisijungiant prie „Excel“ duomenų bazės, „Excel“ failo versijai nustatyti naudojamos išplėstinės savybės.

„Excel95“ darbaknygėje ši vertė yra „Excel 5.0“ (be kabučių); naudokite „Excel 8.0“, skirtą „Excel 97“, „Excel 2000“, „Excel 2002“ ir „ExcelXP“.

Svarbu: Turite naudoti „Jet 4.0“ teikėją, nes „Jet 3.5“ nepalaiko ISAM tvarkyklių. Jei nustatysite „Jet Provider“ į 3.5 versiją, gausite klaidą „Nepavyko rasti įdiegiamo ISAM“.

Kita išplėstinė „Jet“ savybė yra „HDR =“. „HDR = Taip“ reiškia, kad diapazone yra antraštės eilutė, taigi „Jet“ į duomenų rinkinį neįtrauks pirmosios pasirinkimo eilutės. Jei nurodoma „HDR = Ne“, teikėjas į duomenų rinkinį įtraukia pirmąją diapazono (arba pavadinto diapazono) eilutę.

Pirmoji diapazono eilutė pagal nutylėjimą laikoma antraštės eilute („HDR = Taip“). Todėl, jei turite stulpelio antraštę, šios vertės nurodyti nereikia. Jei neturite stulpelių antraščių, turite nurodyti „HDR = Ne“.

Dabar, kai jau esate pasiruošę, viskas tampa įdomu, nes dabar mes pasiruošę tam tikram kodui. Pažiūrėkime, kaip sukurti paprastą „Excel“ skaičiuoklių rengyklę naudojant „Delphi“ ir „ADO“.

Pastaba: Turėtumėte tęsti, net jei jums trūksta žinių apie ADO ir „Jet“ programavimą. Kaip pamatysite, „Excel“ darbaknygės redagavimas yra toks pat paprastas, kaip redaguoti duomenis iš bet kurios standartinės duomenų bazės.

instagram story viewer