Tässä vaiheittaisessa oppaassa kuvataan, miten muodostetaan yhteys Microsoft Excel -sovellukseen, noudetaan arkitiedot ja otetaan käyttöön tietojen muokkaaminen DBGrid-sovelluksella. Löydät myös luettelon yleisimmistä virheistä, joita saattaa esiintyä prosessissa, sekä ohjeet niiden käsittelemiseen.
Mitä alla on katettu:
- Menetelmät tietojen siirtämiseksi Excel: n ja Delfoi. Kuinka muodostaa yhteyden Exceliin ADO (ActiveX-dataobjektit) ja Delphi.
- Excel-taulukkolaskentaohjelman luominen Delphin ja ADO: n avulla
- Tietojen hakeminen Excelistä. Kuinka viitata taulukkoon (tai alueeseen) Excel-työkirjassa.
- Keskustelu Excel-kenttä- (sarake) tyypeistä
- Kuinka muokata Excel-arkkeja: muokata, lisätä ja poistaa rivejä.
- Tietojen siirtäminen Delphi-sovelluksesta Exceliin. Kuinka luoda taulukko ja täyttää se mukautetulla tiedolla MS Access -tietokannasta.
Kuinka muodostaa yhteys Microsoft Excel -sovellukseen
Microsoft Excel on tehokas laskentataulukkolaskin ja tietojen analysointityökalu. Koska Excel-taulukon rivit ja sarakkeet liittyvät läheisesti tietokantataulukon riveihin ja sarakkeisiin, monien kehittäjien mielestä on asianmukaista siirtää tietonsa Excel-työkirjaan analysointia varten; ja noutaa tiedot takaisin sovellukseen jälkikäteen.
Yleisimmin käytetty lähestymistapa tiedonvaihtoon sovelluksen ja Excel-tiedoston välillä on automaatio. Automaatio tarjoaa tavan lukea Excel-tietoja käyttämällä Excel Object Model -sovellusta sukeltaakseen taulukkoon, purkaaksesi sen tiedot ja näyttääksesi ne ruudukkoisen komponentin, nimeltään DBGrid tai StringGrid, sisällä.
Automaatio antaa sinulle suurimman joustavuuden työkirjan tietojen paikantamisessa ja mahdollisuuden alustaa laskentataulukko ja tehdä erilaisia asetuksia ajon aikana.
Voit siirtää tietoja Exceliin ja Excelistä ilman automaatiota käyttämällä muita menetelmiä, kuten:
- Kirjoita tiedot pilkuilla erotettuun tekstitiedostoon ja anna Excel jäsentää tiedosto soluihin
- Siirrä tietoja DDE: llä (dynaaminen tiedonvaihto)
- Siirrä tietosi taulukkoon ja taulukosta ADO: n avulla
Tiedonsiirto ADO: lla
Koska Excel on JET OLE DB -yhteensopiva, voit muodostaa yhteyden Delphiin ADO: lla (dbGO tai AdoExpress) ja hakea sitten laskentataulukon tiedot ADO-tietojoukkoon lähettämällä SQL-kysely (aivan kuin avaisit tietojoukon mitä tahansa tietokantaa vastaan) pöytä).
Tällä tavalla kaikki ADODataset-objektin menetelmät ja ominaisuudet ovat käytettävissä Excel-tietojen käsittelemiseen. Toisin sanoen käyttämällä ADO-komponentteja voit rakentaa sovelluksen, joka voi käyttää Excel-työkirjaa tietokantaan. Toinen tärkeä tosiasia on, että Excel on prosessin ulkopuolella ActiveX-palvelin. ADO toimii prosessin aikana ja säästää kalliiden prosessin ulkopuolisten puheluiden yleiskustannuksia.
Kun muodostat yhteyden Exceliin ADO: n avulla, voit vaihtaa vain raakatietoja työkirjaan ja siitä. ADO-yhteyttä ei voida käyttää arkkien alustamiseen tai kaavojen toteuttamiseen soluihin. Jos kuitenkin siirrät tietosi esimuotoiltuun taulukkoon, muoto säilyy. Kun tiedot on lisätty sovelluksestasi Exceliin, voit suorittaa kaikki ehdolliset muotoilut käyttämällä (esitallennettua) makroa taulukossa.
Voit muodostaa yhteyden Exceliin ADO: n avulla kahden MDAC: ään kuuluvan OLE DB-palveluntarjoajan kanssa: Microsoft Jet OLE DB -toimittaja tai ODBC-ohjainten Microsoft OLE DB -toimittaja. Keskitymme Jet OLE DB -palveluntarjoajaan, jota voidaan käyttää Excel-työkirjojen tietoihin asennettavien indeksoitujen peräkkäisten käyttötapojen (ISAM) ohjainten avulla.
Kärki: Katso Aloittelijoiden kurssi Delphiin ADO-tietokantaohjelmointi, jos olet uusi ADO.
ConnectionString-magia
ConnectionString-ominaisuus kertoo ADOlle, kuinka muodostetaan yhteys tietolähteeseen. ConnectionString-arvoon käytetty arvo koostuu yhdestä tai useammasta argumentista, joita ADO käyttää yhteyden luomiseen.
Delphissä TADOConnection-komponentti kapseloi ADO-yhteysobjektin; se voidaan jakaa useille ADO-tietojoukkoille (TADOTable, TADOQuery jne.) niiden yhteysominaisuuksien kautta.
Excel-yhteyden muodostamiseksi kelvollinen yhteysmerkkijono sisältää vain kaksi lisätietoa - täyden polun työkirjaan ja Excel-tiedostoversion.
Laillinen yhteysjono voi näyttää tältä:
ConnectionString: = 'Palveluntarjoaja = Microsoft. Jet. OLEDB.4.0; Tietolähde = C: \ MyWorkBooks \ myDataBook.xls; Laajennetut ominaisuudet = Excel 8.0; ';
Kun muodostat yhteyden ulkoiseen tietokantamuotoon, jota Jet tukee, yhteyden laajennetut ominaisuudet on määritettävä. Tapauksessamme, kun muodostat yhteyden Excel "tietokantaan", laajennettuja ominaisuuksia käytetään asettamaan Excel-tiedostoversio.
Excel95-työkirjan arvo on "Excel 5.0" (ilman lainausmerkkejä); Käytä "Excel 8.0" Excel 97: lle, Excel 2000: lle, Excel 2002: lle ja ExcelXP: lle.
Tärkeä: Sinun on käytettävä Jet 4.0 -toimittajaa, koska Jet 3.5 ei tue ISAM-ohjaimia. Jos asetat jet-palveluntarjoajan versioon 3.5, saat virheilmoituksen "Ei voitu löytää asennettavaa ISAM: ää".
Toinen Jet-laajennettu ominaisuus on "HDR =". "HDR = Kyllä" tarkoittaa, että alueella on otsikkorivi, joten Jet ei sisälly valinnan ensimmäistä riviä tietojoukkoon. Jos "HDR = Ei" määritetään, palveluntarjoaja sisällyttää alueen (tai nimetyn alueen) ensimmäisen rivin tietojoukkoon.
Alueen ensimmäistä riviä pidetään oletusarvoisesti otsikkorivinä ("HDR = Kyllä"). Siksi, jos sinulla on sarakkeen otsikko, sinun ei tarvitse määrittää tätä arvoa. Jos sinulla ei ole sarakeotsikoita, sinun on määritettävä "HDR = Ei".
Nyt kun kaikki on valmis, asiat muuttuvat mielenkiintoisiksi, koska olemme nyt valmiita koodiin. Katsotaanpa kuinka luoda yksinkertainen Excel-taulukkolaskentaeditori Delphin ja ADO: n avulla.
Huomautus: Sinun tulisi jatkaa, vaikka sinulla ei ole tietoa ADO- ja Jet-ohjelmoinnista. Kuten näette, Excel-työkirjan muokkaaminen on yhtä helppoa kuin minkä tahansa standarditietokannan tietojen muokkaaminen.