Передача данных в Microsoft Excel с помощью OLE
В рассматриваемом примере используем данные из таблицы Cntcust для построения диаграммы распределения клиентов по городам в программе Microsoft Excel с помощью OLE-объектов.
* Создание OLE-объекта
objExcelSheet=CreateObject("Excel.Sheet")
objExcelSheet.Application.Visible=.T.
objExcelSheet = objExcelSheet.Sheets[1]
* Передача данных из таблицы CntCust в Excel SELECT CNTCUST
nRow=0
SCAN
nRow=nRow+1
objExcelSheet.Cells(nRow,1).Value= CntCust.Город
objExcelSheet.Cells{nRow,2).Value=CntCust.Количество
ENDSCAN
objChart = objExcelSheet. ChartObjects.Add(100, 100, 400, 200)
* Выделение данных и создание диаграммы objExcelSheet.
ChartObjects(1).Chart.;
chartwizard(objExcelSheet.Range(objExcelSheet.Cells(1,1),;
objExcelSheet.Cells(nRow,2)),; -4100,4,1,0,1,1,"","","","")
* Копирование диаграммы в буфер обмена Windows objExcelSheet.ChartObjects(1).Select
obj ExcelSheet.ChartObj ects(1) .Copy
* Закрытие сервера objExcelSheet.application.quit release
objExcelSheet
Замечание
Наиболее простым способом формирования команд для выполнения действий над OLE-объектами является запись соответствующего макроса на сервере-приложении и использование текста этого макроса в Visual FoxPro.
Рис. 21.13. Создание диаграммы с помощью OLE