Kako otvoriti excel list iz Delphija. Excel u Delphi. Metode objekta WorkSheet (list)

U ovu recenziju Razmotrene su osnovne strukture koje vam omogućuju pristup Excel radnoj knjizi iz DELPHI-ja.

Organiziranje pristupa EXCEL knjizi

Za interakciju s MS Excelom u programu morate koristiti ComObj modul
koristi ComObj;
i deklarirajte varijablu za pristup MS excelu sljedećeg tipa:
var Excel: varijanta;

U najjednostavnijem slučaju, inicijaliziranje Excel varijable može se učiniti ovako:
Excel:= CreateOleObject("Excel.Application");

Izrada nove knjige:
Excel.Radne bilježnice.Dodaj;

Otvor postojeća knjiga(gdje je put put do datoteke sa xls ekstenzija.):
Excel.Radne knjige.Otvori;

Da biste otvorili postojeću radnu knjigu kao samo za čitanje:
Excel.Radne knjige.Otvori;

Zatvaranje Excela:
Excel.ActiveWorkbook.Close;
Excel.Application.Quit;

Blokiranje Excel zahtjeva (potvrde, obavijesti), na primjer, blokiranje zahtjeva za spremanje datoteke:
Excel.DisplayAlerts:=False;

Prikaz programa Excel na ekranu:
Excel.Visible:= True;
ili sakrij:
Excel.Visible:= False;

Ispis sadržaja aktivnog excel lista:
Excel.ActiveSheet.PrintOut;

Čitanje/pisanje podataka u EXCEL-u

Ćeliji u trenutnoj Excel radnoj knjizi možete pristupiti na sljedeći način:
Excel.Range["B2"]:="Pozdrav!";- za upisivanje vrijednosti u ćeliju ili
s:=Excel.Raspon["B2"]; - za čitanje,
gdje je B2 adresa ćelije.

Ili koristeći stil veze R1C1:
Excel.Range]:="Pozdrav!";, gdje je koordinata ćelije.

Uopće, Excel stanica Možete dodijeliti bilo koju vrijednost (znak, cijeli broj, razlomak, datum) i Excel će postaviti zadano oblikovanje u ćeliji.

Formatirajte ćelije u EXCEL-u

Možete odabrati (odabrati) grupu ćelija za naknadni rad ovako:
Excel.Raspon, Excel.Cells].Select;
ili
Excel.Range["A1:C5"].Select;
u ovom slučaju bit će odabrano područje koje se nalazi između ćelija A1 i C5.

Nakon odabira možete postaviti:
1) spajanje ćelija
Excel.Selection.MergeCells:=True;
2) prelamanje riječi
Excel.Selection.WrapText:=True;
3) horizontalno poravnanje
Excel.Selection.HorizontalAlignment:=3;
Kada je postavljeno na 1, koristi se zadano poravnanje, kada je postavljeno na 2, poravnanje je lijevo, 3 je centrirano, a 4 je desno.
4) okomito poravnanje
Excel.Selection.VerticalAlignment:=1;
dodijeljene vrijednosti su iste kao i horizontalno poravnanje.
5) granica za ćelije

Kada je postavljeno na 1, granice ćelija iscrtavaju se tankim punim linijama.
Osim toga, možete odrediti vrijednosti za svojstvo Granice, na primjer, jednake 3. Tada će biti postavljena samo gornja granica za blok odabira:
Excel.Selection.Borders.LineStyle:=1;
Vrijednost svojstva Borders određuje različitu kombinaciju rubova ćelije.
U oba slučaja možete koristiti vrijednosti u rasponu od 1 do 10.

Korištenje lozinki u EXCEL-u

Postavljanje lozinke za aktivnu radnu knjigu može se izvršiti na sljedeći način:
probati
// pokušaj postavljanja lozinke
Excel.ActiveWorkbook.protect("prolaz");
osim
// akcije ako pokušaj postavljanja lozinke ne uspije
kraj;

gdje je pass lozinka koju treba postaviti za knjigu.

Uklanjanje lozinke iz knjige je slično, upotrijebite naredbu
Excel.ActiveWorkbook.Unprotect("pass");

Postavljanje ili uklanjanje lozinke za aktivni list Excel radne knjige proizvode timovi
Excel.ActiveSheet.protect("prolaz"); // Postavi lozinku
Excel.ActiveSheet.Unprotect("prolaz"); // uklanjanje lozinke

gdje je pass lozinka postavljena za zaštitu knjige.

Pomoćne operacije u EXCEL-u

Uklanjanje redaka s pomakom prema gore:
Excel.Rows["5:15"].Select;
Excel.Selection.Delete;

Prilikom izvođenja ovih radnji, linije od 5 do 15 bit će izbrisane.

Postavljanje područja na koje će se prikvačiti aktivni list Excel
// odmrzni područje ako je postavljeno
Excel.ActiveWindow.FreezePanes:=False;
// Izaberi željenu ćeliju, V u ovom slučaju D3
Excel.Raspon["D3"].Odaberi;
// postavite područje koje će biti zamrznuto
Excel.ActiveWindow.FreezePanes:=True;

Sretno!

Ovaj pregled govori o osnovnim konstrukcijama koje vam omogućuju pristup Excel radnoj knjizi iz Delphija.

Organiziranje pristupa EXCEL knjizi

Za interakciju s MS Excelom u programu, morate koristiti modul ComObj i deklarirati varijablu za pristup tipu varijante MS Excela.

koristi ComObj;
var Excel: varijanta;

U najjednostavnijem slučaju možete inicijalizirati Excel varijablu ovako:

Excel:= CreateOleObject("Excel.Application");

Izrada nove knjige:

Excel.Radne bilježnice.Dodaj;

Otvaranje postojeće knjige (gdje je put staza do datoteke s nastavkom xls.):

Excel.Radne knjige.Otvori;

Da biste otvorili postojeću radnu knjigu kao samo za čitanje:

Excel.Radne knjige.Otvori;

Zatvaranje Excela:

Excel.ActiveWorkbook.Close;
Excel.Application.Quit;

Blokiranje Excel zahtjeva (potvrde, obavijesti), na primjer, blokiranje zahtjeva za spremanje datoteke:

Excel.DisplayAlerts:=False;

Prikažite ili sakrijte Excel na ekranu:

Excel.Visible:= True;
Excel.Visible:= False;

Ispis sadržaja aktivnog Excel radnog lista:

Excel.ActiveSheet.PrintOut;

Čitanje/pisanje podataka u EXCEL-u

Ćeliji u trenutnoj Excel radnoj knjizi možete pristupiti na sljedeći način:

Excel.Range["b2"]:="Pozdrav!"; // upisati vrijednost u ćeliju
s:=Excel.Raspon["b2"]; // čitanje vrijednosti iz ćelije

Gdje je b2 adresa ćelije.

Ili koristeći stil veze R1C1:

Excel.Range]:="Pozdrav!";

Gdje je koordinata ćelije.

Općenito, Excel ćeliji možete dodijeliti bilo koju vrijednost (znak, cijeli broj, razlomak, datum), a Excel će postaviti zadano oblikovanje u ćeliji.

Formatirajte ćelije u EXCEL-u

Možete odabrati (odabrati) grupu ćelija za naknadni rad ovako:

Excel.Raspon, Excel.Cells].Select;
// bilo
Excel.Range["A1:C5"].Select;

U ovom slučaju bit će odabrano područje koje se nalazi između ćelija A1 i C5.

Nakon odabira možete postaviti:
1) Spajanje ćelija:

Excel.Selection.MergeCells:=True;

2) Prelamanje riječi:

Excel.Selection.WrapText:=True;

3) Horizontalno poravnanje:

Excel.Selection.HorizontalAlignment:=3;

Kada je postavljeno na 1, koristi se zadano poravnanje, kada je postavljeno na 2, poravnanje je lijevo, 3 je centrirano, a 4 je desno. 4) Vertikalno poravnanje

Excel.Selection.VerticalAlignment:=1;

Dodijeljene vrijednosti su iste kao i horizontalno poravnanje.
5) Rub za ćelije:

Kada je postavljeno na 1, granice ćelija iscrtavaju se tankim punim linijama.
Osim toga, možete odrediti vrijednosti za svojstvo Granice, na primjer, jednake 3. Tada će biti postavljena samo gornja granica za blok odabira:

Excel.Selection.Borders.LineStyle:=1;

Vrijednost svojstva Borders navodi drugačija kombinacija rubovi stanica.
U oba slučaja možete koristiti vrijednosti u rasponu od 1 do 10.

Korištenje lozinki u EXCEL-u

Postavljanje lozinke za aktivnu radnu knjigu može se izvršiti na sljedeći način:

probati
// pokušaj postavljanja lozinke
Excel.ActiveWorkbook.protect("prolaz");
osim
// akcije ako pokušaj postavljanja lozinke ne uspije
kraj;

Gdje je pass lozinka koju treba postaviti za knjigu.

Uklanjanje lozinke iz knjige je slično, upotrijebite naredbu

Excel.ActiveWorkbook.Unprotect("pass");

Postavljanje i uklanjanje lozinke za aktivni list Excel radne knjige vrši se pomoću naredbi

Excel.ActiveSheet.protect("prolaz"); // Postavi lozinku
Excel.ActiveSheet.Unprotect("prolaz"); // uklanjanje lozinke

Gdje je pass lozinka postavljena za zaštitu knjige.

Pomoćne operacije u EXCEL-u

Brisanje redaka s pomakom prema gore (pri izvođenju ovih radnji, redovi od 5 do 15 će biti izbrisani):

Excel.Rows["5:15"].Select;
Excel.Selection.Delete;

Za postavljanje područja zamrzavanja na aktivnom Excel radnom listu:

// odmrzni područje ako je postavljeno
Excel.ActiveWindow.FreezePanes:=False;
// odaberite željenu ćeliju, u ovom slučaju D3
Excel.Raspon["D3"].Odaberi;
// postavite područje koje će biti zamrznuto
Excel.ActiveWindow.FreezePanes:=True;


Rad s EXCEL-om iz Delphija

U ovom ću vam članku pokazati kako raditi s MS Excel iz Delphija. Ovaj bi članak mogao biti koristan ljudima koji žele naučiti kako izraditi razne Excel izvješća iz programa napisanih u Delphi. Članak sadrži referentne podatke potrebne za rad MS Excel. Ovdje ćete pronaći informacije o tome kako:

Ispravno spojite i odspojite Excel sučelje;
- Kako promijeniti veličinu, boju i vrstu fonta;
- Kako odabrati, spojiti, popuniti i umnožiti niz ćelija;
- Kako rotirati i centrirati tekst;
- Kako nacrtati granice ćelija;
- Kako unijeti formulu u ćeliju i još mnogo toga...

Dakle, počnimo...

Radit ćemo kroz modul ComObj, za ovo u koristi treba dodati modul ComObj i modul Excel_TLB(Za MS Excel 2007).

Koristi……, ComObj, Excel_TLB;

Modul Excel_TLB sadrži potrebne konstante raditi s Excel, ne morate ga spajati, ali tada ćete morati ručno unijeti vrijednosti svih korištenih konstanti iz ovog modula. Vrijednosti konstanti mogu se pronaći unutar modula ili na Internetu, ali za različite verzije MS Excel oni su različiti.
Pažnja!!! Modul Excel_TLB u drugim verzijama MS Excel može se drugačije nazvati. Prije spajanja modula Excel_TLB, morate uvesti biblioteku Excel. Da biste to učinili, odaberite Komponenta->Uvoz komponente->Uvoz biblioteke tipova-> pronašli smo MS Excel i slijedite upute.

U odjeljku opisa varijable moramo opisati varijabla tipa Varijanta ili OleVariant za povezivanje sučelja Excel. Opisao sam varijablu excel.

Obrazac1: TForm1;
excel : varijanta;// Varijabla u kojoj je objekt kreiran EXCEL

Izrada dokumenta

Pažnja!!! Kad god kreirate objekt sučelja, zamotajte postupak stvaranja u modul za rukovanje greškama:
probati
stvoriti sučelje;
generirati izvješće;
otpustite sučelje;
Osim
obraditi pogreške;
otpustite sučelje;
kraj;

probati
// kreirati EXCEL objekt

// Da ne postavljamo pitanje o spremanju dokumenta
excel.DisplayAlerts:= false;

// stvoriti novi dokument radna bilježnica
excel.WorkBooks.Add;

//ili ga učitati iz direktorija programa
excel.WorkBooks.Open(GetCurrentDir() + "\report.xls");

( GetCurrentDir() - vraća putanju do direktorija s programom)

// Neka bude vidljivo ovu funkciju nakon otklanjanja pogrešaka i testiranja, bolje ga je koristiti na kraju, nakon generiranja izvješća (ovo ubrzava proces ispisa podataka u izvješće)
excel.Visible:= true;

//postavite vrstu formula u formatu R1C1
excel.Application.ReferenceStyle:= xlR1C1;

// postavite vrstu formule u formatu A1
excel.Application.ReferenceStyle:= xlA1;

// Postavite naziv prvog i drugog lista
excel.WorkBooks.WorkSheets.Name:= "Izvješće1";
excel.WorkBooks.WorkSheets.Name:= "Izvješće2";

//postavite format broja za prvi i četvrti stupac format broja
excel.WorkBooks.WorkSheets.Columns.NumberFormat:= "0,00";
excel.WorkBooks.WorkSheets.Columns.NumberFormat:= "0.0";

// postavite širinu prvog i drugog stupca
excel.WorkBooks.WorkSheets.Columns.ColumnWidth:= 10;
excel.WorkBooks.WorkSheets.Columns.ColumnWidth:= 20;

// postavite stil, boju, veličinu i vrstu fonta za prvi red
excel.WorkBooks.WorkSheets.Rows.Font.Bold:= True; //masno
excel.WorkBooks.WorkSheets.Rows.Font.Color:= clRed; // boja crvena
excel.WorkBooks.WorkSheets.Rows.Font.Size:= 12; //veličina 12
excel.WorkBooks.WorkSheets.Rows.Font.Name:= "Times New Roman"; //font

//dodijelite vrijednosti ćelije 1.4 i 2.4 (1 - red, 4 - stupac)
excel.WorkBooks.WorkSheets.Cells := "I na ovaj način možete unijeti vrijednost u ćeliju";
excel.WorkBooks.WorkSheets.Cells := "I na ovaj način možete unijeti vrijednost u ćeliju";

//unos formule "=b5+c4" u ćeliju "A12"
excel.WorkBooks.WorkSheets.Range["A12"].Formula:="=b5+c4";

// Okomito poravnajte prvi red prema sredini
excel.WorkBooks.WorkSheets.Rows.VerticalAlignment:= xlCenter;

// Poravnajte prvi red vodoravno prema sredini
excel.WorkBooks.WorkSheets.Rows.HorizontalAlignment:= xlCenter;

// Poravnaj ćeliju ulijevo
excel.WorkBooks.WorkSheets.Cells.HorizontalAlignment:= xlLeft;

// Poravnaj ćeliju udesno
excel.WorkBooks.WorkSheets.Cells.HorizontalAlignment:= xlRight;

// Spoji ćelije "A1:A8"
excel.WorkBooks.WorkSheets.Range["A1:A8"].Spoji;

// Rotirajte riječi pod kutom od 90 stupnjeva za drugi red
excel.WorkBooks.WorkSheets.Rows.Orientation:= 90;

// Rotirajte riječi pod kutom od 45 stupnjeva za raspon ćelija "B3:D3"
excel.WorkBooks.WorkSheets.Range["B3:D3"].Orientation:= 45;

//crtanje granica odabranog raspona lijevo
excel.Selection.Borders.LineStyle:= xlContinuous; // stil pune linije
excel.Selection.Borders.Weight:= xlMedium;// debljina linije

//crtanje granica odabranog raspona gornji

excel.Selection.Borders.Weight:= xlMedium;

//crtajte granice odabranog raspona niže

excel.Selection.Borders.Weight:= xlMedium;

//crtanje granica odabranog raspona desno

excel.Selection.Borders.Weight:= xlMedium;

//crtajte granice odabranog raspona okomito unutra

excel.Selection.Borders.Weight:= xlMedium;

//crtajte granice odabranog raspona vodoravno unutra

excel.Selection.Borders.Weight:= xlMedium;

//automatsko popunjavanje odabranog raspona
//na primjer, ispunite područje ćelija "A10:C10" riječju "zdravo"
//i pomnožite ga s još pet ćelija "A10:C15"

excel.WorkBooks.WorkSheets.Range["A10:C10"].Value:="zdravo";

//odaberite raspon ćelija "A10:C10"
excel.WorkBooks.WorkSheets.Range["A10:C10"].Select;

//automatsko popunjavanje (kopiranje) područja ćelija "A10:C15" s odabranim rasponom
excel.selection.autofill(excel.WorkBooks.WorkSheets.Range["A10:C15"],xlFillDefault);

//onemogući upozorenja da ne postavljaš pitanja o spremanju i ostalo
excel.DisplayAlerts:= False;

//spremite dokument u Excel format 97-2003
excel.ActiveWorkBook.Saveas(GetCurrentDir() + "\report.xls",xlExcel8);

//spremite dokument u trenutnom Excel 2007 formatu
excel.ActiveWorkBook.Saveas(GetCurrentDir() + "\report.xlsx");

//zatvori sve knjige
excel.Radne bilježnice.Zatvori;

//zatvori Excel
excel.Application.quit;

//oslobodite sučelja
excel:= Nedodijeljeno;

// obraditi pogreške

//zatvori sve knjige
excel.Radne bilježnice.Zatvori;

//zatvori Excel
excel.Application.quit;

//oslobodite sučelja
excel:= Nedodijeljeno;
kraj;
kraj;

Prilikom rada sa Excel list možemo koristiti sljedeće opcije:
- rad s područjem Range["B3:D3"];
- rad s ćelijom Cells gdje je 2 redak, 4 stupac;
- rad s redovima Redovi ili nizom redova Redovi["1:5"];
- rad sa stupcima Stupci ili nizom stupaca Stupci["A:I"];

Raspon["A1"] i ćelije znače istu stvar.

Nakon što se dokument generira ili se pojavi greška, morate ispravno otpustiti sučelja.
Inače pri zatvaranju Excel nestaje sa zaslona, ​​ali ako otvorite upravitelj zadataka ondje i dalje stoji i ako ovaj proces nisu dovršeni, a zatim će se sa svakim novim pokretanjem nakupljati sve više i više dok se računalo ne počne smrzavati. Stoga je neophodno osloboditi sva sučelja povezana s Excel sa svojim knjigama i listovima.

Na primjer ovako:
//zatvori sve knjige
excel.Radne bilježnice.Zatvori;

//zatvori Excel
excel.Application.quit;

//oslobodite sučelja
list:=Nedodijeljeno; // sučelje lista ako je stvoreno
Radna knjiga:= Nedodijeljeno;//sučelje radne knjige ako je stvoreno
excel:= Unassigned;//sučelje samog prijedloga ako je kreiran

Ispod je primjer izlaza u Excel iz Delphija tablice množenja s detaljnim komentarima.

Jedinica Jedinica1;

Koristi
Windows, Poruke, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dijalozi, comobj, StdCtrls, Excel_TLB;

Tip
TForm1 = klasa(TForm)
Gumb1: TButton;
procedure Button1Click(Pošiljatelj: TObject);
privatna
(Privatne izjave)
javnost
(Javne izjave)
kraj;

Var
Obrazac1: TForm1;
excel: varijanta; // Varijabla u kojoj je kreiran EXCEL objekt
MyData: varijanta; // Varijabla u kojoj se formira tablica množenja
i,j:cijeli broj;
implementacija

Procedura TForm1.Button1Click(Pošiljatelj: TObject);
početi
probati
// EXCEL objekt
excel:= CreateOleObject("Excel.Application");
// Da ne postavljamo pitanje o spremanju dokumenta
excel.DisplayAlerts:= false;
// novi dokument
excel.WorkBooks.Add;

//deklarirajte niz varijanti
MyData:= VarArrayCreate(,varVariant);
za I:= 1 do 9 učiniti
za J:= 1 do 9 učiniti
Moji podaci:=i*j;

// Spoji ćelije "A1:I1"
excel.WorkBooks.WorkSheets.Range["A1:I1"].Spoji;
//Napišite naslov
excel.WorkBooks.WorkSheets.Range["A1"].Value:="Tablica množenja";
// Poravnajte naslov prema sredini
excel.WorkBooks.WorkSheets.Range["A1"].HorizontalAlignment:= xlCenter;
// postavite širinu stupaca od A do I
excel.WorkBooks.WorkSheets.Columns["A:I"].ColumnWidth:= 3;

//odaberite područje tablice množenja ["A2:I10"] i nacrtajte granice
excel.WorkBooks.WorkSheets.Range["A2:I10"].select;
//crtanje granica odabranog raspona lijevo
excel.Selection.Borders.LineStyle:= xlContinuous; // stil linije je čvrst
excel.Selection.Borders.Weight:= xlThin;// debljina linije
//crtanje granica odabranog raspona gornji
excel.Selection.Borders.LineStyle:= xlContinuous;
excel.Selection.Borders.Weight:= xlThin;
//crtajte granice odabranog raspona niže
excel.Selection.Borders.LineStyle:= xlContinuous;
excel.Selection.Borders.Weight:= xlThin;
//crtanje granica odabranog raspona desno
excel.Selection.Borders.LineStyle:= xlContinuous;
excel.Selection.Borders.Weight:= xlThin;
//crtajte granice odabranog raspona okomito unutra
excel.Selection.Borders.LineStyle:= xlContinuous;
excel.Selection.Borders.Weight:= xlThin;
//crtajte granice odabranog raspona vodoravno unutra
excel.Selection.Borders.LineStyle:= xlContinuous;
excel.Selection.Borders.Weight:= xlThin;

//dodijelite raspon ["A2:I10"] vrijednostima niza varijanti MyData; ovo znatno ubrzava rad od prikazivanja //ćelija

Excel.WorkBooks.WorkSheets.Range["A2:I10"].Value:=MyData;

// Neka bude vidljivo
excel.Visible:= true;
//oslobodite sučelja
MyData:= Unassigned;
excel:= Nedodijeljeno;
Osim
showmessage("Pažnja! Došlo je do greške prilikom izrade MS Excel aplikacije");
//zatvori Excel
excel.Application.quit;
//oslobodite sučelja
MyData:= Unassigned;
excel:= Nedodijeljeno;
kraj;
kraj;

Prilikom pisanja ovog članka korišten je materijal sa stranice

Možete stati na svakoj fazi ovog modela i proučavati ga mjesecima. Ako postoji posebna potreba za proučavanjem dodatnih svojstava i metoda, svakako ćemo se vratiti i proučavati. Sada, počnimo raditi u Delphiju s listovima radne knjige.

2. Kako aktivirati list radne knjige programa Excel?

Kao što znate prilikom izrade prazne radne knjige Excel automatski dodaje 3 ovoj knjizi prazan list. Za rad s određenim listom ( Radni list ili jednostavno List) ovaj list mora biti aktiviran. Jedan od načina za aktiviranje lista radne bilježnice Excel V Delphi kako slijedi:

resursni niz rsEInvalidSheetIndex = "Nevažeći indeks naveden za radne knjige. Aktivacija lista prekinuta"; rsEInvalidSheetActivate = "Aktivacija tablice dovršena s pogreškom"; funkcija ActivateSheet(WBIndex: integer; SheetName: string): boolean; var i: cijeli broj; početak Rezultat: = lažno; ako WBIndex › MyExcel. Radne bilježnice. Broji zatim podigni iznimku. Kreiraj (rsEInvalidSheetIndex) ; pokušajte za i : = 1 u MyExcel. Radne knjige [WBIndex]. Plahte. Count do if AnsiLowerCase (MyExcel. Workbooks [ WBIndex]. Sheets . Item [ i]. Name ) = AnsiLowerCase (SheetName) then start MyExcel. Radne knjige [WBIndex]. Plahte. Stavka[i]. Aktiviraj ; Rezultat: = istina; pauza;

kraj ; osim rise Exception. Stvori (rsEInvalidSheetActivate) ; kraj ; kraj ;

Ovdje su parametri funkcije postavljeni na indeks radne knjige (WBIndex) u kolekciji Radne bilježnice i naziv lista.

Ako želite, isti list možete aktivirati indeksom u zbirci Radni listovi- u isto vrijeme, sama funkcija je malo pojednostavljena (nije potreban uvjet za provjeru naziva lista).

Također, ako ste sigurni da

ovaj trenutak Radni list.

Budući da je radna knjiga koja vam je potrebna aktivna, možete izbjeći korištenje dodatne varijable (indeks radne knjige WBIndex) i aktivirati list ovako:

MyExcel. ActiveWorkBook. Plahte. Stavka[i]. Aktiviraj ; Radni list.

Sada pogledajmo pobliže metode koje koristi objekt

3. Metode radnih listova programa Excel Radni list Sada pogledajmo objekt detaljnije 30 Slika prikazuje metode koje sam ikada koristio u svom radu.

Ukupni objekt ukupni iznosi
različite metode koje možete koristiti. metoda
Opis AktiviratiČini trenutni list aktivnim. Već smo razgovarali o tome kako metoda funkcionira. sve izračunava otvorene knjige
, određeni list u knjizi ili
navedeni raspon
ćelije na listu Radni list
provjeriti pravopis na odabranom listu
sprema sve promjene u datoteku
briše trenutni list
izbor listova kopira list na drugo mjesto u radnoj knjizi lijepi sadržaj međuspremnika u radni list vraća objekt koji predstavlja jedan dijagram (objekt
ChartObject ChartObjects) na listu

pomicanje plahte. Ova metoda je slična metodi

Kopirati . Jedina razlika je u tome što se nakon lijepljenja kopirani list briše iz knjige Razmotrimo sada svaku od gore navedenih metoda. Radni list U nastavku, kao

izraz

list bi trebao stršati (

), osim ako nije drukčije navedeno. Metoda izračuna Izračunajte radnu knjigu, list ili raspon ćelija.

Vrijedno je napomenuti da poziv metode

donji isječak koda izračunava aktivni list

MyExcel. ActiveWorkBook. Aktivni radni list. Izračunati

Izračunajmo sve formule u stupcima A, B i C:

MyExcel. ActiveWorkBook. Aktivni radni list. UsedRange. Stupci ("A:C"). Izračunati

Metoda provjere pravopisa

Poziv metode izgleda ovako:

izraz. Provjeri pravopis (Prilagođeni rječnik, IgnoreUppercase, AlwaysSuggest, SpellLang)

U isto vrijeme, kao . Jedina razlika je u tome što se nakon lijepljenja kopirani list briše iz knjige list bi trebao stršati ( Radni list).

Parametar Tip ukupni iznosi
CustomDictionary Varijanta S niz koji specificira naziv datoteke korisničkog rječnika koji će se uzeti u obzir ako riječ nije pronađena u glavnom rječniku. Ako se ovaj argument izostavi, koristit će se zadani rječnik
Ignoriraj velika slova Varijanta Pravi, ako je potrebno, tako da Microsoft Excel preskočene riječi koje su bile napisane velikim slovima. lažno da bi Microsoft Excel provjerite sve riječi. Ako se ovaj argument izostavi, onda trenutne postavke Excel.
Uvijek Predloži Varijanta Pravi, da bi Microsoft Excel prikazao popis prijedloga za druge načine pisanja kada je otkrivena netočno napisana riječ. lažno, do Microsoft Excel čekao unos ispravan pravopis. Ako je ovaj argument izostavljen, koriste se trenutne postavke.
SpellLang Varijanta rječnik jezik. Može uzeti vrijednosti jedne od konstanti MsoLanguageID , na primjer za ruski jezik SpellLang = 1049, za engleski (SAD) SpellLang = 1033 itd. Više detalja o identifikatorima jezika.

Kako provjeriti gramatiku na Excel listu u Delphiju?

MyExcel. ActiveWorkBook. Aktivni radni list. ProvjeriteSpelling(CustomDictionary:=EmptyParam, IgnoreUppercase:=false, AlwaysSuggest:=EmptyParam, SpellLang:=1033)

u ovom slučaju MS Excel provjerit će trenutni list, uključujući provjeru riječi iz velika slova. Jezik provjere je ruski. Imajte na umu da smo za pozivanje metode eksplicitno naveli kojem parametru dodijeliti koju vrijednost. Štoviše, kako bismo preskočili bilo koji parametar, koristili smo EmptyParam(prazan parametar), koji je u Delphi je varijabla tipa OleVariant.

Jasno je da ova metoda pozivanja metoda (s eksplicitnim navođenjem svih parametara) nije sasvim prikladna za vas i nije široko prakticirana u programiranju na engleskom jeziku. Delphi , ali unatoč tome, to je jedini način i nijedan drugi način za pozivanje metoda koje se koriste u Excel .

Metoda SaveAs

Spremanje radnog lista programa Excel.

Poziv metode:

izraz.SaveAs(FileName, FileFormat, Password, WriteResPassword, ReadOnlyRecommended, CreateBackup, AddToMru, TextCodepage, TextVisualLayout, Local)
Parametar Tip ukupni iznosi
Naziv datoteke Varijanta niz koji predstavlja naziv datoteke koju treba spremiti. Mora biti navedeno puni put u datoteku, inače će datoteka biti spremljena u mapu Excel .
Format datoteke Varijanta Format datoteke koji se koristi prilikom spremanja. Prema zadanim postavkama datoteka se sprema u formatu koji ste odabrali posljednji put V Excel.
Lozinka Varijanta lozinka za datoteku (ne više od 15 znakova). Lozinka razlikuje velika i mala slova.
WriteResPassword Varijanta lozinku koja će se koristiti za izmjene u radnoj knjizi. Ako lozinka nije navedena, knjiga će se otvoriti u načinu rada samo za čitanje.
ReadOnlyRecommended Varijanta ako je parametar jednak Pravi, tada će se prilikom otvaranja datoteke na zaslonu pojaviti poruka s preporukom da se datoteka otvori samo za čitanje.
CreateBackup Varijanta Pravi, kako biste stvorili datoteku sigurnosne kopije
AddToMru Varijanta Pravi, kako biste nedavno dodali naziv spremljene datoteke na popis otvorene datoteke u glavnom izborniku Excel
TextCodepage I TextVisualLayout Varijanta trenutno se ne koristi i zadržano je radi kompatibilnosti s prethodnim verzijama
Lokalni Varijanta Ne traženi parametar, prema zadanim postavkama jednako je lažno.Značenje Pravi- spremanje datoteka iz Microsoftov jezik Excel (uključujući postavke upravljačke ploče).

MyExcel.ActiveWorkBook.ActiveWorkSheet.SaveAs("C\:MyExcelFile.xls")

U tom će se slučaju prilikom spremanja koristiti zadane postavke.

Ako trebate štedjeti Excel datoteka u drugom formatu, zatim u parametru Format datoteke možete koristiti jednu od vrijednosti popisivača xlFileFormat . Neka značenja xlFileFormat prikazani su u tablici ispod:

Ime Značenje ukupni iznosi Ekstenzija datoteke
xlCSV6 CSV*.csv
xlExcel856 Excel 97-2003 radna knjiga*.xls
xlHtml44 HTML format*.htm; *.HTML
xlOpenDocumentSpreadsheet60 OpenDocument proračunska tablica*.ods
xlOpenXMLRadna knjiga51 Otvorite XML knjigu*.xlsx

Napišimo mali postupak koji vam omogućuje spremanje Excel lista u različitim formatima:

const xlCSV = 6; xlExcel8 = 56; xlHtml = 44; xlOpenDocumentSpreadsheet = 60 ; xlOpenXMLWorkbook = 51 ; resursni niz rsESaveActiveSheet = "Pogreška pri spremanju aktivnog radnog lista"; procedure SaveAs(const AFileName: TFileName; AFileFormat: integer ) ; počnite isprobavati MyExcel. ActiveWorkBook. ActiveSheet. Spremi kao (Ime datoteke, format datoteke); osim rise Exception. Stvori(rsESaveActiveSheet); kraj ;

kraj ;

Metoda brisanja

Brisanje Excel radnog lista.

MyExcel.ActiveWorkBook.WorkSheets.Item.Select

Odabire treći list radne knjige

Metoda kopiranja

Poziv metode:

Kopirajte list na drugo mjesto u radnoj knjizi.

izraz.Kopiraj(prije, poslije) Međutim, ako koristite parametar Prije , onda ne biste trebali koristiti Nakon

Kako kopirati Excel list u Delphi?

MyExcel.ActiveWorkBook.WorkSheets.Item.Copy(After:=MyExcel.ActiveWorkBook.WorkSheets.Item)

U ovom slučaju, prvi list će biti kopiran i zalijepljen nakon trećeg.

Metoda lijepljenja

Zalijepite sadržaj međuspremnika u Excel list.

Poziv metode:

izraz.Zalijepi(Odredište, Veza)

Kako zalijepiti sadržaj međuspremnika u Excel list u Delphiju?

MyExcel.ActiveWorkBook.ActiveSheet.Paste(Odredište:=MyExcel.ActiveWorkBook.ActiveSheet.Range("D1:D5"))

U ovom slučaju, sadržaj međuspremnika bit će umetnut u stupac D u recima od 1 do 5. Treba imati na umu da ako sadržaj međuspremnika ne zadovoljava uvjet, na primjer, postoji samo 1 broj u međuspremniku, zatim iznimna situacija.

metoda lijepi sadržaj međuspremnika u radni list

Vraća objekt koji predstavlja jedan dijagram (objekt kopira list na drugo mjesto u radnoj knjizi) ili zbirka svih dijagrama (objekt lijepi sadržaj međuspremnika u radni list) na listu.

Poziv metode:

izraz.ChartObjects

Kako dobiti grafikon u Excel listu u Delphiju?

MyExcel.ActiveWorkBook.ActiveSheet.ChartObjects

U ovom slučaju, prvi će biti primljen.

Metoda pomicanja

Pomicanje lista. Ova metoda je slična . Jedina razlika je u tome što se nakon lijepljenja kopirani list briše iz knjige.

Ovdje je dio metoda koje sam ikada koristio u radu Excel V Delphi . Općenito se može reći da u Delphi može se kontrolirati MS Excel ništa gore nego kada radite izravno s ovom aplikacijom, glavna stvar je ne zaboraviti koja je metoda ili svojstvo odgovorno za što :). Pa, da ne zaboravim, napravio sam mali MindMap, koji ću povremeno dopunjavati i ažurirati. Slijedeći link možete vidjeti Excel objekti, metode koje koriste, parametre metoda i njihove vrste u skladu s Delphi vrste. Općenito, mala grafička varalica za one koji vole petljati s Excelom u Delphiju.

U ovom ćemo članku pogledati osnovne konstrukcije koje vam omogućuju pristup MS Excel radnoj knjizi iz Delphija.

Organiziranje pristupa EXCEL knjizi

Za interakciju s MS Excelom u programu morate koristiti ComObj modul

UsesComObj;

i deklarirati varijablu za pristup MS-u Excel sljedeći tip:

Var MsExcel: varijanta;

U najjednostavnijem slučaju, inicijaliziranje Excel varijable može se učiniti ovako:

MsExcel:= CreateOleObject("Excel.Application");

Izrada nove knjige:

MsExcel.Workbooks.Add;

Otvaranje postojeće knjige (gdje je put staza do datoteke s nastavkom xls.):

MsExcel.Workbooks.Open;

Da biste otvorili postojeću radnu knjigu kao samo za čitanje:

MsExcel.Workbooks.Open;

Zatvaranje Excela:

MsExcel.ActiveWorkbook.Close; MsExcel.Application.Quit;

Blokiranje Ms Excel zahtjeva (potvrde, obavijesti), npr. blokiranje zahtjeva za spremanje datoteke:

MsExcel.DisplayAlerts:=False;

Prikaz programa Excel na ekranu:

MsExcel.Visible:= True;

ili sakrij:

MsExcel.Visible:= False;

Ispis sadržaja aktivnog MS Excel lista:

MsExcel.ActiveSheet.PrintOut;

Čitanje/pisanje podataka u EXCEL-u

Ćeliji u trenutnoj Excel radnoj knjizi možete pristupiti na sljedeći način:

Za pisanje vrijednosti u ćeliju:

MsExcel.Range["B2"]:="Pozdrav!";

Da biste pročitali vrijednost iz ćelije:

S:=MsExcel.Range["B2"];

Gdje B2- adresa ćelije.

Ili koristeći stil veze R1C1:

MsExcel.Range]:="Pozdrav!";

Gdje - koordinata ćelije.

Općenito, Excel ćeliji možete dodijeliti bilo koju vrijednost (znak, cijeli broj, razlomak, datum), a Ms Excel će postaviti zadano oblikovanje u ćeliji.

Formatirajte ćelije u EXCEL-u

Možete odabrati (odabrati) grupu ćelija za naknadni rad ovako:

MsExcel.Range, MsExcel.Cells].Select; // ili MsExcel.Range["A1:C5"].Select;

u ovom slučaju bit će odabrano područje koje se nalazi između ćelija A1 i C5.

Nakon odabira možete postaviti spajanje ćelija, prijelom riječi i horizontalno i okomito poravnanje:

// spajanje ćelija MsExcel.Selection.MergeCells:=True; // omatanje prema MsExcel.Selection.WrapText:=True; // horizontalno poravnanje MsExcel.Selection.HorizontalAlignment:=3; // okomito poravnanje MsExcel.Selection.VerticalAlignment:=1;

Za okomite i horizontalno poravnanje koriste se sljedeće vrijednosti:

1 - koristi se zadano poravnanje
2 - lijevo poravnanje
3 - u sredini
4 - desno.

Granica ćelije

Kada je postavljeno na 1, granice ćelija iscrtavaju se tankim punim linijama.

Osim toga, možete odrediti vrijednosti za svojstvo Granice, na primjer, jednake 3. Tada će biti postavljena samo gornja granica za blok odabira:

MsExcel.Selection.Borders.LineStyle:=1;

Vrijednost svojstva Borders određuje različitu kombinaciju rubova ćelije. U oba slučaja možete koristiti vrijednosti u rasponu od 1 do 10.

Korištenje lozinki u EXCEL-u

Postavljanje lozinke za aktivnu radnu knjigu može se izvršiti na sljedeći način:

Pokušajte // pokušajte postaviti lozinku MsExcel.ActiveWorkbook.protect("pass"); osim // akcije ako pokušaj postavljanja lozinke ne uspije kraj;

Gdje proći- postaviti lozinku za knjigu.

Uklanjanje lozinke iz knjige je slično, upotrijebite naredbu

MsExcel.ActiveWorkbook.Unprotect("prolaz");

Gdje proći

Postavljanje i uklanjanje lozinke za aktivni list Excel radne knjige vrši se pomoću naredbi

MsExcel.ActiveSheet.protect("prolaz"); // postavljanje lozinke MsExcel.ActiveSheet.Unprotect("pass"); // uklanjanje lozinke

Gdje proći- lozinka postavljena za zaštitu knjige.

Pomoćne operacije u EXCEL-u

Uklanjanje redaka s pomakom prema gore:

MsExcel.Rows["5:15"].Select; MsExcel.Selection.;

Prilikom izvođenja ovih radnji, linije od 5 do 15 bit će izbrisane.

Postavite područje zamrzavanja na aktivnom Excel radnom listu

// odmrzni područje ako je postavljeno MsExcel.ActiveWindow.FreezePanes:=False; // odaberite željenu ćeliju, u ovom slučaju D3 MsExcel.Range["D3"].Select; // postavi zamrzavanje područja MsExcel.ActiveWindow.FreezePanes:=True;

Spremanje aktivne Excel radne knjige