nordk
Joined: 27 Jun 2005 Posts: 1000 Location: Горбунов Константин Occupation: БЭСТ-Партнер Interests: СПб
|
Posted: 26 Oct 2005 12:08 Post subject: Пример в Excel |
|
|
Пример Сан Саныча перенес сюда....
ЯКОВ wrote: | Дайте например пример того, как можно выгружать в EXCEL Прайс-лист.
НА базе этого примера можно будет понять основные принципы и команды. А в дальнейшем уже модифицируя этот пример составлять другие отчеты. |
В принципе, есть пример в хелпе по программированию БЭСТ-4, по выгрузке проводок.
Code: | FUNCTION MAIN
LOCAL oApp,oWorkBook,oRange
LOCAL nLine:=3
dbPush()
TRY
oApp := CreateObject( "Excel.Application" ) //попытка создать объект Excel
CATCH
Alert("Excel не доступен!")
RETURN .F.
END
altd()
oWorkBook:=oApp:WorkBooks:Add() //добавление рабочей книги
oAS:=oWorkBook:Worksheets():Add() //добавление таблицы
oAS:Name:="Test" //присвоение имени таблице
oRange:=oAS:Range("A1:C1") //определение интервала ячеек
oRange:font:bold:=.T. //выдленный шрифт на этом интервале
oRange:MergeCells:=.T. //объединение ячеек в интервале
oRange:value:=OemToAnsi("Тестовый пример") //запись текста
oAS:columns(1):ColumnWidth:=10 //ширина 1-й колонки
oAS:columns(2):ColumnWidth:=10 //ширина 2-й колонки
oAS:columns(3):ColumnWidth:=20 //ширина 3-й колонки
SELECT Main
nLine:=3
GO TOP
oAS:Range("A2"):formula:=OemToAnsi("Дт счет") //Запись заголовов столбцов
oAS:Range("B2"):formula:=OemToAnsi("Кт счет")
oAS:Range("C2"):formula:=OemToAnsi("Сумма")
WHILE !EOF()
oAS:Cells(nLine,1):Value:=HB_OEMTOANSI(Dt_Schet) //Запись в ячейки
oAS:Cells(nLine,1):NumberFormat:="@"
oAS:Cells(nLine,2):Value:=HB_OEMTOANSI(Kt_Schet)
oAS:Cells(nLine,2):NumberFormat:="@" //текстовой формат
oAS:Cells(nLine,3):Value:=Summa
oAS:Cells(nLine,3):NumberFormat:="#0,00" //числовой формат
nLine++
SKIP
ENDDO
oApp:visible:=.T. //отобразить Excel
dbPop()
RETURN
|
Здесь используются методы и свойства Excel, описание которых можно найти
в справочных руководствах по объектной модели Excel. |
|