Bagaimana untuk membuka helaian excel dari Delphi. Mengakses Excel daripada Delphi

Anda boleh berhenti pada setiap peringkat model ini dan mengkajinya selama berbulan-bulan. Sekiranya terdapat keperluan khusus untuk mengkaji apa-apa sifat dan kaedah tambahan, kami pasti akan kembali dan mengkaji. Sekarang, mari kita mula bekerja di Delphi dengan helaian buku kerja.

2. Bagaimana untuk mengaktifkan helaian buku kerja Excel?

Seperti yang anda ketahui semasa membuat buku kerja kosong Excel secara automatik menambah 3 pada buku ini lembaran kosong. Untuk bekerja dengan helaian tertentu ( Lembaran Kerja atau secara ringkas Lembaran) helaian ini mesti diaktifkan. Satu cara untuk mengaktifkan helaian buku kerja Excel V Delphi seperti berikut:

string sumber rsEInvalidSheetIndex = "Indeks tidak sah ditentukan untuk Buku Kerja. Pengaktifan helaian dibatalkan"; rsEInvalidSheetActivate = "Pengaktifan helaian selesai dengan ralat"; function ActivateSheet(WBIndex: integer ; SheetName: string ) : boolean ; var i: integer ; mulakan Keputusan : = false ; jika WBIndex › MyExcel. Buku Kerja. Kira kemudian naikkan Exception. Cipta (rsEInvalidSheetIndex) ; cuba untuk i : = 1 kepada MyExcel. Buku Kerja [WBIindex]. Lembaran. Kira lakukan jika AnsiLowerCase (MyExcel. WorkBooks [ WBIndex]. Helaian . Item [ i]. Nama ) = AnsiLowerCase (SheetName) kemudian mulakan MyExcel. Buku Kerja [WBIindex]. Lembaran. Perkara [i]. Aktifkan ; Keputusan: = benar; pecah; akhir ; kecuali menaikkan Exception. Cipta (rsEInvalidSheetActivate) ; akhir ; akhir ;

Di sini, parameter fungsi ditetapkan kepada indeks buku kerja (WBIndex) dalam koleksi Buku Kerja dan nama helaian.

Jika anda mahu, anda boleh mengaktifkan helaian yang sama mengikut indeks dalam koleksi Lembaran Kerja- pada masa yang sama, fungsi itu sendiri dipermudahkan sedikit (syarat untuk menyemak nama helaian tidak diperlukan).

Juga, jika anda pasti itu masa ini Memandangkan buku kerja yang anda perlukan aktif, anda boleh mengelak daripada menggunakan pembolehubah tambahan (indeks buku kerja WBIndex) dan mengaktifkan helaian seperti ini:

MyExcel. ActiveWorkBook. Lembaran. Perkara [i]. Aktifkan ;

Sekarang mari kita lihat dengan lebih dekat kaedah yang digunakan oleh objek Lembaran Kerja.

3. Kaedah lembaran kerja Excel

Sekarang mari kita lihat objek dengan lebih terperinci Lembaran Kerja.

Rajah menunjukkan kaedah yang pernah saya gunakan dalam kerja saya.

Jumlah objek Lembaran Kerja jumlah 30 kaedah berbeza yang boleh anda gunakan.

Kaedah Penerangan
Aktifkan Menjadikan helaian semasa aktif. Kami telah membincangkan bagaimana kaedah itu berfungsi.
mengira segala-galanya buka buku, helaian tertentu dalam buku, atau julat yang ditentukan sel pada helaian
semak ejaan pada helaian yang dipilih
menyimpan semua perubahan pada fail
memadam helaian semasa Lembaran Kerja
pemilihan helaian
menyalin helaian ke lokasi lain dalam buku kerja
menampal kandungan papan keratan ke dalam lembaran kerja
mengembalikan objek yang mewakili sama ada satu rajah (objek ChartObject ChartObjects) pada helaian
menggerakkan helaian. Kaedah ini serupa dengan kaedah Salinan. Satu-satunya perbezaan ialah selepas menampal, helaian yang disalin dipadamkan daripada buku

Sekarang mari kita pertimbangkan setiap kaedah yang dibentangkan di atas.

Di bawah, sebagai ungkapan helaian harus menonjol ( Lembaran Kerja), melainkan dinyatakan sebaliknya.

Kaedah pengiraan

Kira buku kerja, helaian atau julat sel.

Perlu diingat bahawa kaedah panggilan Kira mungkin bukan sahaja untuk lembaran kerja tertentu Buku kerja Excel. Mari lihat pilihan untuk memanggil kaedah Kira.

var MyExcel: OleVariant; MyExcel. Kira

coretan kod di bawah mengira helaian aktif

MyExcel. ActiveWorkBook. ActiveWorkSheet. Kira

Mari kita hitung semua formula dalam lajur A, B dan C:

MyExcel. ActiveWorkBook. ActiveWorkSheet. UsedRange. Lajur("A:C"). Kira

Semak Kaedah Ejaan

Panggilan kaedah kelihatan seperti ini:

ungkapan. Semak Ejaan(Kamus Tersuai, Abaikan Huruf Besar, SentiasaCadangkan, SpellLang)

Pada masa yang sama, sebagai ungkapan helaian harus menonjol ( Lembaran Kerja).

Parameter taip Penerangan
Kamus Tersuai Pelbagai Dengan rentetan yang menyatakan nama fail kamus pengguna yang akan dipertimbangkan jika perkataan itu tidak ditemui dalam kamus utama. Jika hujah ini ditinggalkan, kamus lalai akan digunakan
Abaikan Huruf Besar Pelbagai betul, jika perlu, supaya Microsoft Excel melangkau perkataan yang ditulis dengan huruf besar. Salah untuk Microsoft Excel semak semua perkataan. Jika hujah ini ditinggalkan, maka tetapan semasa Excel.
SentiasaCadangkan Pelbagai betul, untuk Microsoft Excel memaparkan senarai cadangan untuk ejaan lain apabila perkataan yang dieja dengan salah telah dikesan. Salah, kepada Microsoft Excel sedang menunggu input ejaan yang betul. Jika hujah ini ditinggalkan, tetapan semasa digunakan.
SpellLang Pelbagai bahasa kamus. Boleh mengambil nilai salah satu pemalar MsoLanguageID , contohnya untuk bahasa Rusia SpellLang = 1049, untuk bahasa Inggeris (AS) SpellLang = 1033 dan lain-lain. Butiran lanjut tentang pengecam bahasa.

Bagaimana untuk menyemak tatabahasa pada helaian Excel dalam Delphi?

MyExcel. ActiveWorkBook. ActiveWorkSheet. CheckSpelling(CustomDictionary:=EmptyParam, IgnoreUppercase:=false, AlwaysSuggest:=EmptyParam, SpellLang:=1033)

dalam kes ini MS Excel akan menyemak helaian semasa, termasuk menyemak perkataan daripada huruf besar. Bahasa pengesahan adalah bahasa Rusia. Sila ambil perhatian bahawa untuk memanggil kaedah, kami secara eksplisit menyatakan parameter mana yang hendak diberikan nilai mana. Selain itu, untuk melangkau sebarang parameter, kami menggunakan EmptyParam(parameter kosong), iaitu dalam Delphi mewakili pembolehubah jenis OleVariant.

Adalah jelas bahawa kaedah kaedah panggilan ini (dengan petunjuk jelas semua parameter) tidak sepenuhnya sesuai untuk anda dan tidak diamalkan secara meluas dalam pengaturcaraan dalam bahasa Inggeris. Delphi , tetapi bagaimanapun, ini adalah satu-satunya cara dan tiada cara lain untuk memanggil kaedah yang digunakan dalam Excel .

Kaedah SaveAs

Menyimpan lembaran kerja Excel.

Panggilan kaedah:

expression.SaveAs(FileName, FileFormat, Password, WriteResPassword, ReadOnlyRecommended, CreateBackup, AddToMru, TextCodepage, TextVisualLayout, Local)
Parameter taip Penerangan
Nama fail Pelbagai rentetan yang mewakili nama fail yang akan disimpan. Mesti dinyatakan laluan penuh ke fail, jika tidak fail akan disimpan ke folder Excel .
Format fail Pelbagai Format fail yang digunakan semasa menyimpan. Secara lalai, fail disimpan dalam format yang anda pilih kali terakhir V Excel.
Kata laluan Pelbagai kata laluan untuk fail (tidak lebih daripada 15 aksara). Kata laluan adalah sensitif huruf besar-besaran.
WriteResPassword Pelbagai kata laluan yang akan digunakan untuk membuat perubahan kepada buku kerja. Jika kata laluan tidak dinyatakan, buku akan dibuka dalam mod Baca Sahaja.
ReadOnlyRecommended Pelbagai jika parameter adalah sama betul, kemudian apabila membuka fail, mesej akan muncul pada paparan yang mengesyorkan agar fail dibuka untuk baca sahaja.
CreateBackup Pelbagai betul, untuk mencipta fail sandaran
AddToMru Pelbagai betul, untuk menambah nama fail yang disimpan pada senarai baru-baru ini buka fail dalam menu utama Excel
TextCodepage Dan TextVisualLayout Pelbagai tidak digunakan pada masa ini dan dikekalkan untuk keserasian ke belakang
Tempatan Pelbagai Tidak parameter yang diperlukan, secara lalai adalah sama dengan Salah.Maknanya betul- menyimpan fail daripada bahasa Microsoft Excel (termasuk tetapan panel kawalan).

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

Dalam kes ini, tetapan lalai akan digunakan semasa menyimpan.

Jika anda perlu berjimat Fail Excel dalam format yang berbeza, kemudian dalam parameter Format fail anda boleh menggunakan salah satu nilai enumerator xlFileFormat . Beberapa makna xlFileFormat dibentangkan dalam jadual di bawah:

Nama Maknanya Penerangan Sambungan fail
xlCSV6 CSV*.csv
xlExcel856 Buku kerja Excel 97-2003*.xls
xlHtml44 format HTML*.htm; *.HTML
xlOpenDocumentSpreadsheet60 Hamparan OpenDocument*.ods
xlOpenXMLWorkbook51 Buka Buku XML*.xlsx

Mari tulis prosedur kecil yang membolehkan anda menyimpan helaian Excel dalam pelbagai format:

const xlCSV = 6 ; xlExcel8 = 56 ; xlHtml = 44 ; xlOpenDocumentSpreadsheet = 60 ; xlOpenXMLWorkbook = 51 ; resourcestring rsESaveActiveSheet = "Ralat menyimpan lembaran kerja aktif"; prosedur SaveAs(const AFileName: TFileName; AFileFormat: integer ); mula mencuba MyExcel. ActiveWorkBook. ActiveSheet. SaveAs(AFileName, AFileFormat); kecuali menaikkan Exception. Cipta(rsESaveActiveSheet); akhir ; akhir ;

Padam kaedah

Padamkan lembaran kerja Excel.

MyExcel.ActiveWorkBook.WorkSheets.Item.Select

Memilih helaian ketiga buku kerja

Kaedah salin

Salin helaian ke lokasi lain dalam buku kerja.

Panggilan kaedah:

ungkapan.Salin(Sebelum, Selepas)

Walau bagaimanapun, jika anda menggunakan parameter Sebelum ini, maka anda tidak sepatutnya menggunakan Selepas dan begitu juga sebaliknya. Biar saya menarik perhatian anda kepada fakta bahawa HELAIAN yang ditunjukkan, dan bukan indeks helaian.

Bagaimana untuk menyalin helaian Excel ke Delphi?

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

Dalam kes ini, helaian pertama akan disalin dan ditampal selepas helaian ketiga.

Kaedah tampal

Tampalkan kandungan papan keratan ke dalam helaian Excel.

Panggilan kaedah:

ekspresi.Tampal(Destinasi, Pautan)

Bagaimana untuk menampal kandungan papan keratan ke dalam helaian Excel dalam Delphi?

MyExcel.ActiveWorkBook.ActiveSheet.Paste(Destinasi:=MyExcel.ActiveWorkBook.ActiveSheet.Range("D1:D5"))

Dalam kes ini, kandungan penimbal akan dimasukkan ke dalam lajur D dalam baris 1 hingga 5. Perlu diingatkan bahawa jika kandungan penimbal tidak memenuhi syarat, contohnya, terdapat hanya 1 nombor dalam penimbal, kemudian situasi yang luar biasa.

Kaedah ChartObjects

Mengembalikan objek yang mewakili sama ada satu rajah (objek ChartObject) atau koleksi semua gambar rajah (objek ChartObjects) pada helaian.

Panggilan kaedah:

ungkapan.ChartObjects

Bagaimana untuk mendapatkan carta dalam helaian Excel dalam Delphi?

MyExcel.ActiveWorkBook.ActiveSheet.ChartObjects

Dalam kes ini, yang pertama akan diterima.

Kaedah pindah

Menggerakkan helaian. Kaedah ini serupa dengan . Satu-satunya perbezaan ialah selepas menampal, helaian yang disalin dipadamkan daripada buku.

Berikut adalah sebahagian daripada kaedah yang pernah saya gunakan semasa bekerja Excel V Delphi . Secara umumnya boleh dikatakan bahawa dalam Delphi boleh dikawal MS Excel tidak lebih buruk daripada apabila bekerja secara langsung dengan aplikasi ini, perkara utama adalah tidak melupakan kaedah atau harta mana yang bertanggungjawab untuk apa :). Nah, untuk tidak lupa, saya mencipta MindMap kecil, yang akan saya tambah dan kemas kini secara berkala. Dengan mengklik pada pautan, anda boleh melihat objek Excel, kaedah yang mereka gunakan, parameter kaedah dan jenisnya mengikut Jenis Delphi. Secara umum, helaian curang grafik kecil untuk mereka yang suka bermain-main dengan Excel dalam Delphi.

Dalam artikel ini kita akan melihat binaan asas yang membolehkan anda mengakses buku kerja MS Excel daripada Delphi.

Mengatur akses kepada buku EXCEL

Untuk berinteraksi dengan MS Excel dalam program, anda mesti menggunakan modul ComObj

Menggunakan ComObj;

dan mengisytiharkan pembolehubah untuk mengakses MS Excel jenis berikut:

Var MsExcel: Varian;

Dalam kes paling mudah, memulakan pembolehubah Excel boleh dilakukan seperti ini:

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

Mencipta buku baharu:

MsExcel.Workbooks.Add;

Pembukaan buku sedia ada(di mana laluan adalah laluan ke fail dengan sambungan xls.):

MsExcel.Workbooks.Open;

Untuk membuka buku kerja sedia ada untuk baca sahaja:

MsExcel.Workbooks.Open;

Menutup Excel:

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

Menyekat permintaan (pengesahan, pemberitahuan) daripada Ms Excel, sebagai contoh, menyekat permintaan untuk menyimpan fail:

MsExcel.DisplayAlerts:=False;

Paparkan Excel pada skrin:

MsExcel.Visible:= Benar;

atau sembunyikan:

MsExcel.Visible:= Salah;

Mencetak kandungan helaian MS Excel aktif:

MsExcel.ActiveSheet.PrintOut;

Membaca/menulis data dalam EXCEL

Anda boleh mengakses sel dalam buku kerja Excel semasa seperti berikut:

Untuk menulis nilai pada sel:

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

Untuk membaca nilai daripada sel:

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

di mana B2- alamat sel.

Atau menggunakan gaya pautan R1C1:

MsExcel.Range]:="Hello!";

di mana - koordinat sel.

sama sekali, sel Excel Anda boleh menetapkan sebarang nilai (aksara, integer, pecahan, tarikh) dan Ms Excel akan menetapkan pemformatan lalai dalam sel.

Formatkan sel dalam EXCEL

Anda boleh memilih (memilih) sekumpulan sel untuk kerja seterusnya seperti ini:

MsExcel.Range, MsExcel.Cells].Pilih; // atau MsExcel.Range["A1:C5"].Pilih;

dalam kes ini, kawasan yang terletak di antara sel A1 dan C5 akan dipilih.

Selepas membuat pilihan, anda boleh menetapkan penggabungan sel, bungkus perkataan dan mendatar dan penjajaran menegak:

// menggabungkan sel MsExcel.Selection.MergeCells:=True; // bungkus mengikut MsExcel.Selection.WrapText:=True; // penjajaran mendatar MsExcel.Selection.HorizontalAlignment:=3; // penjajaran menegak MsExcel.Selection.VerticalAlignment:=1;

Nilai berikut digunakan untuk penjajaran menegak dan mendatar:

1 - penjajaran lalai digunakan
2 - penjajaran kiri
3 - di tengah
4 - di sebelah kanan.

Sempadan Sel

Apabila ditetapkan kepada 1, sempadan sel dilukis dengan garis pepejal nipis.

Di samping itu, anda boleh menentukan nilai untuk sifat Borders, contohnya, sama dengan 3. Kemudian hanya sempadan atas untuk blok pemilihan akan ditetapkan:

MsExcel.Selection.Borders.LineStyle:=1;

Nilai sifat Borders ditentukan kombinasi berbeza tepi sel. Dalam kedua-dua kes, anda boleh menggunakan nilai dalam julat dari 1 hingga 10.

Menggunakan kata laluan dalam EXCEL

Menetapkan kata laluan untuk buku kerja aktif boleh dilakukan seperti berikut:

Cuba // cuba untuk menetapkan kata laluan MsExcel.ActiveWorkbook.protect("lulus"); kecuali // tindakan jika percubaan untuk menetapkan kata laluan gagal ditamatkan;

di mana lulus- tetapkan kata laluan untuk buku.

Mengalih keluar kata laluan daripada buku adalah serupa, gunakan arahan

MsExcel.ActiveWorkbook.Unprotect("lulus");

di mana lulus

Menetapkan dan mengalih keluar kata laluan untuk helaian aktif buku kerja Excel dilakukan menggunakan arahan

MsExcel.ActiveSheet.protect("lulus"); // menetapkan kata laluan MsExcel.ActiveSheet.Unprotect("pass"); // alih keluar kata laluan

di mana lulus- kata laluan ditetapkan untuk melindungi buku.

Operasi tambahan dalam EXCEL

Mengalih keluar baris dengan anjakan ke atas:

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

Apabila melakukan tindakan ini, baris 5 hingga 15 akan dipadamkan.

Menetapkan kawasan untuk disematkan lembaran aktif Excel

// nyahbeku kawasan jika ia ditetapkan MsExcel.ActiveWindow.FreezePanes:=False; // pilih sel yang dikehendaki, V dalam kes ini D3 MsExcel.Julat["D3"].Pilih; // tetapkan kawasan pembekuan MsExcel.ActiveWindow.FreezePanes:=True;

Menyimpan buku kerja Excel yang aktif

DALAM ulasan ini Pembinaan asas yang membolehkan anda mengakses buku kerja Excel daripada Delphi dibincangkan.

Mengatur akses kepada buku EXCEL

Untuk berinteraksi dengan MS Excel dalam program, anda mesti menggunakan modul ComObj dan mengisytiharkan pembolehubah untuk mengakses jenis varian MS Excel.

menggunakan ComObj;
var Excel: Varian;

Dalam kes paling mudah, anda boleh memulakan pembolehubah Excel seperti ini:

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

Mencipta buku baharu:

Excel.Buku Kerja.Tambah;

Membuka buku sedia ada (di mana laluan ialah laluan ke fail dengan sambungan xls.):

Excel.Buku Kerja.Buka;

Untuk membuka buku kerja sedia ada untuk baca sahaja:

Excel.Buku Kerja.Buka;

Menutup Excel:

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

Menyekat permintaan Excel (pengesahan, pemberitahuan), contohnya, menyekat permintaan untuk menyimpan fail:

Excel.DisplayAlerts:=False;

Tunjukkan atau sembunyikan Excel pada skrin:

Excel.Visible:= Benar;
Excel.Visible:= Salah;

Mencetak kandungan lembaran kerja Excel yang aktif:

Excel.ActiveSheet.PrintOut;

Membaca/menulis data dalam EXCEL

Anda boleh mengakses sel dalam buku kerja Excel semasa seperti berikut:

Excel.Range["b2"]:="Hello!"; // tulis nilai pada sel
s:=Excel.Julat["b2"]; // membaca nilai dari sel

Di mana b2 ialah alamat sel.

Atau menggunakan gaya pautan R1C1:

Excel.Range]:="Hello!";

Di manakah koordinat sel.

Secara umum, anda boleh menetapkan sebarang nilai pada sel Excel (aksara, integer, pecahan, tarikh) dan Excel akan menetapkan pemformatan lalai dalam sel.

Formatkan sel dalam EXCEL

Anda boleh memilih (memilih) sekumpulan sel untuk kerja seterusnya seperti ini:

Excel.Range, Excel.Cells].Pilih;
// sama ada
Excel.Julat["A1:C5"].Pilih;

Dalam kes ini, kawasan yang terletak di antara sel A1 dan C5 akan dipilih.

Selepas membuat pemilihan, anda boleh menetapkan:
1) Menggabungkan sel:

Excel.Selection.MergeCells:=Benar;

2) Pembalut perkataan:

Excel.Selection.WrapText:=Benar;

3) Penjajaran mendatar:

Excel.Selection.HorizontalAlignment:=3;

Apabila ditetapkan kepada 1, penjajaran lalai digunakan, apabila ditetapkan kepada 2, penjajaran di kiri, 3 di tengah dan 4 di kanan. 4) Penjajaran menegak

Excel.Selection.VerticalAlignment:=1;

Nilai yang diberikan adalah sama dengan penjajaran mendatar.
5) Sempadan untuk sel:

Apabila ditetapkan kepada 1, sempadan sel dilukis dengan garis pepejal nipis.
Di samping itu, anda boleh menentukan nilai untuk sifat Borders, contohnya, sama dengan 3. Kemudian hanya sempadan atas untuk blok pemilihan akan ditetapkan:

Excel.Selection.Borders.LineStyle:=1;

Nilai sifat Borders menentukan gabungan tepi sel yang berbeza.
Dalam kedua-dua kes, anda boleh menggunakan nilai dalam julat dari 1 hingga 10.

Menggunakan kata laluan dalam EXCEL

Menetapkan kata laluan untuk buku kerja aktif boleh dilakukan seperti berikut:

cubalah
// cuba untuk menetapkan kata laluan
Excel.ActiveWorkbook.protect("lulus");
kecuali
// tindakan jika percubaan untuk menetapkan kata laluan gagal
akhir;

Di mana pas ialah kata laluan untuk ditetapkan untuk buku.

Mengalih keluar kata laluan daripada buku adalah serupa, gunakan arahan

Excel.ActiveWorkbook.Unprotect("lulus");

Menetapkan dan mengalih keluar kata laluan untuk helaian aktif buku kerja Excel dilakukan menggunakan arahan

Excel.ActiveSheet.protect("lulus"); // tetapkan kata laluan
Excel.ActiveSheet.Unprotect("lulus"); // alih keluar kata laluan

Di mana pas ialah kata laluan yang ditetapkan untuk melindungi buku.

Operasi tambahan dalam EXCEL

Memadamkan baris dengan anjakan ke atas (apabila melakukan tindakan ini, baris 5 hingga 15 akan dipadamkan):

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

Untuk menetapkan kawasan beku pada lembaran kerja Excel yang aktif:

// nyahbeku kawasan jika ia telah ditetapkan
Excel.ActiveWindow.FreezePanes:=False;
// pilih sel yang dikehendaki, dalam kes ini D3
Excel.Julat["D3"].Pilih;
// tetapkan kawasan untuk dibekukan
Excel.ActiveWindow.FreezePanes:=Benar;


Semakan ini membincangkan reka bentuk asas yang membolehkan anda mengakses buku kerja Excel daripada DELPHI.

Mengatur akses kepada buku EXCEL

Untuk berinteraksi dengan MS excel dalam program anda mesti menggunakan modul ComObj
menggunakan ComObj;
dan mengisytiharkan pembolehubah untuk mengakses MS excel daripada jenis berikut:
var Excel: Varian;

Dalam kes paling mudah, memulakan pembolehubah Excel boleh dilakukan seperti ini:
Excel:= CreateOleObject("Excel.Application");

Mencipta buku baharu:
Excel.Buku Kerja.Tambah;

Membuka buku sedia ada (di mana laluan ialah laluan ke fail dengan sambungan xls.):
Excel.Buku Kerja.Terbuka;

Untuk membuka buku kerja sedia ada untuk baca sahaja:
Excel.Buku Kerja.Terbuka;

Menutup Excel:
Excel.ActiveWorkbook.Close;
Excel.Application.Quit;

Menyekat permintaan Excel (pengesahan, pemberitahuan), contohnya, menyekat permintaan untuk menyimpan fail:
Excel.DisplayAlerts:=False;

Paparkan Excel pada skrin:
Excel.Visible:= Benar;
atau sembunyikan:
Excel.Visible:= Salah;

Mencetak kandungan helaian excel aktif:
Excel.ActiveSheet.PrintOut;

Membaca/menulis data dalam EXCEL

Anda boleh mengakses sel dalam buku kerja Excel semasa seperti berikut:
Excel.Range["B2"]:="Hello!";- untuk menulis nilai pada sel atau
s:=Excel.Julat["B2"]; - untuk membaca,
di mana B2 ialah alamat sel.

Atau menggunakan gaya pautan R1C1:
Excel.Range]:="Hello!";, di manakah koordinat sel.

Secara umum, anda boleh menetapkan sebarang nilai pada sel Excel (aksara, integer, pecahan, tarikh) dan Excel akan menetapkan pemformatan lalai dalam sel.

Formatkan sel dalam EXCEL

Anda boleh memilih (memilih) sekumpulan sel untuk kerja seterusnya seperti ini:
Excel.Range, Excel.Cells].Pilih;
atau
Excel.Julat["A1:C5"].Pilih;
dalam kes ini, kawasan yang terletak di antara sel A1 dan C5 akan dipilih.

Selepas membuat pemilihan, anda boleh menetapkan:
1) penggabungan sel
Excel.Selection.MergeCells:=Benar;
2) pembalut perkataan
Excel.Selection.WrapText:=Benar;
3) penjajaran mendatar
Excel.Selection.HorizontalAlignment:=3;
Apabila ditetapkan kepada 1, penjajaran lalai digunakan, apabila ditetapkan kepada 2, penjajaran di kiri, 3 di tengah dan 4 di kanan.
4) penjajaran menegak
Excel.Selection.VerticalAlignment:=1;
nilai yang diberikan adalah sama dengan penjajaran mendatar.
5) sempadan untuk sel

Apabila ditetapkan kepada 1, sempadan sel dilukis dengan garis pepejal nipis.
Di samping itu, anda boleh menentukan nilai untuk sifat Borders, contohnya, sama dengan 3. Kemudian hanya sempadan atas untuk blok pemilihan akan ditetapkan:
Excel.Selection.Borders.LineStyle:=1;
Nilai sifat Borders menentukan gabungan tepi sel yang berbeza.
Dalam kedua-dua kes, anda boleh menggunakan nilai dalam julat dari 1 hingga 10.

Menggunakan kata laluan dalam EXCEL

Menetapkan kata laluan untuk buku kerja aktif boleh dilakukan seperti berikut:
cubalah
// cuba untuk menetapkan kata laluan
Excel.ActiveWorkbook.protect("lulus");
kecuali
// tindakan jika percubaan untuk menetapkan kata laluan gagal
akhir;

di mana pas ialah kata laluan untuk ditetapkan untuk buku.

Mengalih keluar kata laluan daripada buku adalah serupa, gunakan arahan
Excel.ActiveWorkbook.Unprotect("lulus");

Menetapkan dan mengalih keluar kata laluan untuk helaian aktif buku kerja Excel dilakukan menggunakan arahan
Excel.ActiveSheet.protect("lulus"); // tetapkan kata laluan
Excel.ActiveSheet.Unprotect("lulus"); // alih keluar kata laluan

di mana pas ialah kata laluan yang ditetapkan untuk melindungi buku.

Operasi tambahan dalam EXCEL

Mengalih keluar baris dengan anjakan ke atas:
Excel.Rows["5:15"].Pilih;
Excel.Selection.Delete;

Apabila melakukan tindakan ini, baris 5 hingga 15 akan dipadamkan.

Tetapkan kawasan beku pada lembaran kerja Excel yang aktif
// nyahbeku kawasan jika ia telah ditetapkan
Excel.ActiveWindow.FreezePanes:=False;
// pilih sel yang dikehendaki, dalam kes ini D3
Excel.Julat["D3"].Pilih;
// tetapkan kawasan untuk dibekukan
Excel.ActiveWindow.FreezePanes:=Benar;

Semoga berjaya!

Halo, dalam artikel ini saya akan memberitahu anda cara menggunakan dalam aplikasi (program) anda Delphi DB dalam borang MS Excel. Ya betul betul MS Excel. Tidak ada yang rumit di sini. Mula-mula, mari isi helaian kami dalam MS Excel. Baris pertama dalam setiap lajur akan sentiasa mengambil aplikasi kami sebagai nama lajur, iaitu, ia tidak mengambil nama lajur seperti ini - A, B, C dan sebagainya. Jadi pada baris pertama lajur A dan lajur B saya tulis Nama penuh Dan Gred masing-masing untuk setiap lajur. Ini akan menjadi tajuk kami, kemudian di bawah saya mengisi data yang akan berada dalam pangkalan data saya, baik, tulis nama dan penilaian sendiri. Jadi pangkalan data kami sedia. Sekarang mari kita buat sambungan kepadanya. sambungan dibuat serupa dengan MS Access, jadi tiada apa-apa yang rumit di sini. Pada borang kami mempunyai komponen lama:

  • TDBGrid
  • TADOQuery
  • TADOConnection
  • TDataSource

Saya akan memberitahu anda dengan cepat cara menyambungkan komponen ini, kerana ini telah saya katakan.

  • TADOQuery c TADOConnection dalam harta - Sambungan
  • TDataSource Dengan TADOQuery dalam harta Set Data
  • TDBGrid c TDataSource dalam harta Sumber data

DALAM TADOConnection tetapkan harta itu LongPromt V Salah. nampaknya persediaan kecil selesai. Sekarang kita sampai ke sambungan langsung. Dalam harta TADOConnection- ConnectionString klik pada butang " ", kemudian kita mempunyai tetingkap pandangan

Klik pada butang " bina..." dan tetingkap berikut muncul

Dalam tetingkap ini, pilih pembekal berikut: Pembekal OLE DB Microsoft untuk Pemacu ODBC dan tekan butang " Seterusnya>>" dan lihat tetingkap berikut

Dalam tetingkap ini, segera letakkan penuding kepada “ Gunakan rentetan sambungan" dan klik pada butang " perhimpunan", selepas itu tetingkap muncul

Dalam tetingkap ini, pergi ke tab Sumber Data Komputer, dalam senarai yang muncul, pilih - Fail Excel, atau sebaliknya, klik kiri pada tarikh ini Klik dua kali dan dalam tetingkap yang muncul, tunjukkan laluan ke kami Excel-buku yang kami cipta. Selepas itu, klik pada butang “ Okey". Kami mempunyai semua sambungan sedia. Saya ingin menambah lagi jika anda mempunyai fail Excel, di mana jadual anda terletak dalam direktori yang sama dengan program, kemudian dalam sifat komponen TADOConnection- ConnectionString laluan ke fail Excel anda akan ditulis, padam laluan dan tinggalkan nama anda sahaja Excel fail dengan sambungan, dan dalam harta DefaultDataBase komponen yang sama, tulis nama anda Excel-fail dengan sambungan . Kemudian, apabila anda melancarkan aplikasi anda, tidak akan ada ralat dengan laluan yang dinyatakan secara salah ke pangkalan data anda. Seterusnya dalam TDBGrid Mari klik dua kali padanya dan buat 2 baris dalam tetingkap yang muncul, ini akan menjadi lajur kami. Dan ia dibuat dengan mengklik pada butang " Tambah Baharu (Masuk)". Seterusnya, memilih setiap baris dalam sifat FieldName, untuk baris pertama kami akan menulis - Nama penuh, sejak dalam Excel-file, ini adalah cara saya menulis nama lajur dalam baris pertama (untuk sel A1 Saya menulisnya seperti ini), dan dengan menyerlahkan baris kedua yang dibuat dalam TDBGrid, dalam harta Nama Medan Mari menulis - Gred, kerana saya yang menulis nama lajur ini (dalam sel A2 Saya menulisnya seperti itu). Kini kami boleh mengaktifkan data kami. Untuk acara ini bentuk utamaOnCreate mari kita tulis yang berikut

Seperti yang anda lihat, pertanyaan yang sama, hanya menggantikan nama jadual, seperti yang kami ada MS Access kami menunjukkan nama helaian kami dalam Excel, melampirkannya dalam kurungan segi empat sama dan berakhir dengan $ . Seperti yang anda lihat, tidak ada yang rumit. Dalam artikel seterusnya mengenai pangkalan data MS Excel Saya akan memberitahu anda cara memasukkan data, mengedit dan sebagainya.

Saya ingin ambil perhatian bahawa jika anda adalah peminat sebenar bola sepak, dan terutamanya kejohanan Inggeris, yang kini merupakan salah satu yang terkuat, maka anda mungkin akan sangat berminat untuk membaca tentang kelab bola sepak