Copy kode kodenya sebagai berikut:
var
i,j,m,n,count1:integer;
str:tali;
Jdate:tdatetime;
daftar saluran,potBstrtime,potEstrtime,Jchannelname:string;
Jawaban:boolean;
JSHR: ganda;
Excelid,chart1,cell1,cell2,cell3,cell4,cellMiddle,Range1,Range2,series1:varian;
ExRowsValue,ExRowsName,ExClos:Integer;
Halaman Gambar,Halaman data:integer;
leftPostion,topPostion,widthPostion,heightPostion:integer;
mulai
//Buat objek OLE
mencoba
Excelid:=CreateOleObject( 'Excel.Aplikasi' );
kecuali
pada Pengecualian, naikkan pengecualian.Buat('Tidak dapat membuat file Xls, harap konfirmasi apakah EXCEL sudah diinstal')
akhir;
Excelid.Visible := false; //Pengaturan tampilan Excel
Excelid.WorkBooks.Add; //Buat file excel baru
//Jangan gunakan halaman excel sebelumnya
Excelid.lembar kerja.tambahkan;
dataPage:=Excelid.Worksheets.count; //Digunakan sebagai halaman data
Excelid.lembar kerja.tambahkan;
ImagePage:=Excelid.Worksheets.count;
//tampilkan pesan(inttostr(halaman data));
//showmessage(inttostr(Halaman Gambar)+'sdfg');
Jdate:=DateTimePicker1.Date;
hitungan1:=0;
ExRowsValue:=1; //Nilai penyimpanan
ExRowsName:=2; //Nama penyimpanan
//Dapatkan nomor frekuensi
untuk i:=0 hingga CheckListBoxFQ.Items.Count-1 lakukan
mulai
jika CheckListBoxFQ.Checked[i] lalu
mulai
daftar saluran:= QCaky.FChannelList[i]+','+daftar saluran;
akhir;
akhir;
hapus(daftar saluran,panjang(daftar saluran),1);
posisi kiri:=20;
Posisi teratas:=50;
lebarPosisi:=450;
tinggiPosisi:=230;
untuk i:=0 hingga CheckListBoxPOTT.Items.Count-1 lakukan
mulai
jika CheckListBoxPOTT.Checked[i] lalu
mulai
// Menghasilkan nomor halaman excel secara dinamis
//Excelid.lembar kerja.tambahkan;
//hitungan lembar:=hitungan lembar+1;
//Excelid.worksheets[sheetCount].name:='Halaman bagan'+inttostr(sheetCount);
//Buat grafik di sini
jika CheckListBoxPOTT.Items[i]='Sepanjang hari' maka
mulai
potBstrtime:='';
potEstrtime:='';
akhir
kalau tidak
mulai
potBstrtime:=QCaky.FPOTbeginList[i];
potEstrtime:=QCaky.FPOTendList[i];
akhir;
Rres:=QCaky.getFQShr(Jdate,FormMain.QAreacode,channellist,potBstrtime,potEstrtime); //Dapatkan hunian
Contoh:=1;
sementara tidak QCaky.FADOQueryFQ.Eof lakukan
mulai
Excelid.lembar kerja[halaman data].Aktifkan;
Jchannelname:=QCaky.FADOQueryFQ.fieldbyname('nama saluran').AsString;
JSHR:=QCaky.FADOQueryFQ.fieldbyname('allshr').AsFloat;
Excelid.lembar kerja[dataPage].Sel[ExRowsName,ExClos].Value :=Jchannelname;
Excelid.lembar kerja[dataPage].Sel[ExRowsValue,ExClos].Value :=JSHR;
inc(ExClos);
QCaky.FADOQueryFQ.Berikutnya;
akhir;
{Tambahkan gambar dua dimensi (20,50,450,230) untuk mewakili (kiri, atas, lebar, tinggi)}
//achart1 := Excelid.lembar kerja[ImagePage].chartobjects.add(20,50,450,230);
achart1 := Excelid.lembar kerja[ImagePage].chartobjects.add(leftPostion,topPostion,widthPostion,heightPostion);
achart1.chart.charttype := xl3DPie; //Jenis bagan apa yang dihasilkan ******** Berikut adalah diagram lingkaran.
//Mengatur data sumbu x dan sumbu y
sel1 := Excelid.lembar kerja[halaman data].Sel[NamaBarisEx,1];
sel2 := Excelid.lembar kerja[halaman data].Sel[ExRowsName,ExClos];
sel3 := Excelid.lembar kerja[halaman data].Sel[ExRowsValue,1];
sel4 := Excelid.lembar kerja[halaman data].Sel[ExRowsValue,ExClos];
Range1 := Excelid.worksheets[dataPage].Range[cell1, cell2]; //Mengatur area nilai sumbu koordinat kategori Bagan (sumbu x)
Range2 := Excelid.worksheets[dataPage].Range[cell3, cell4]; //Mengatur area nilai sumbu koordinat numerik Bagan (sumbu y)
seri1:= achart1.chart.seriescollection;
//series1.add (Range2,xlColumns,false); //Mengatur data sumbu y
series1.add (Range2,true); //Dapat digunakan untuk menghasilkan diagram lingkaran
achart1.chart.seriescollection[1].name:='nihao';
//Mengatur format diagram lingkaran
achart1.chart.seriescollection[1].ApplyDataLabels(xlDataLabelsShowLabelAndPercent,true,true,true);
achart1.Chart.Axes[xlCategory].CategoryNames := Range1; //Atur data sumbu x
//series1.add (Range2,xlColumns,false); //Mengatur data sumbu y
//achart1.Chart.Axes[xlCategory].CategoryNames := Range1; //Atur data sumbu x
//Hapus judul di sebelah kanan
achart1.Chart.Legend.hapus;
//Tambahkan judul bagan
achart1.Chart.HasTitle:=Benar;
achart1.Chart.ChartTitle.Characters.Text:='Bagan Peringkat';
achart1.Chart.HasLegend:=benar;
achart1.Chart.Legenda.Posisi := xlBottom;
//Deskripsi subskrip kiri bagan
//achart1.Chart.Axes(xlValue,xlPrimary).HasTitle := Benar;
//achart1.Chart.Axes(xlValue,xlPrimary).AxisTitle.Characters.Text := 'Peringkat (%)';
//Deskripsi subskrip bagan
//achart1.Chart.Axes(xlCategory,xlPrimary).HasTitle:=Benar;
//achart1.Chart.Axes(xlCategory,xlPrimary).AxisTitle.Characters.Text:='time';
ExRowsName:=ExRowsName+2;
ExRowsValue:=ExRowsValue+2;
end; //Jika pengaturan periode dipilih
posisi kiri:=20;
posisi atas:=posisi atas+600;
//tampilkan pesan(inttostr(halaman data));
akhir;
Excelid.Terlihat := benar;
akhir;