I think, there is no function to export to excel.
You must to do it manually...
function EksportDoLBH
LOCAL oExcel, oAktArkusz, pom, nrwiersza, nZakres
private TabOB := {}
private plikLBH := folderLBH
if month(OkGl_Akord.D_OdDnia.Value) <> month(OkGl_Akord.D_DoDnia.Value)
MsgBox("Obecnie nie można eksportować danych z różnych miesięcy!!!")
return
endif
plikLBH += "\LBH."+n2c(month(OkGl_Akord.D_OdDnia.Value),2)+"."+str(year(OkGl_Akord.D_OdDnia.Value),4)+".xls"
MsgBox(plikLBH)
if !file(plikLBH)
MsgBOX('W podanej lokalizacji "'+FolderLBH+'"nie znaleziono pliku LBH!!!')
return
endif
if !UstawBazy( { {"dane\akord",,3,.f.}, {"dane\czaspr",,2,.f.} } ,0,TabOB)
return
endif
SetProperty("OkGl_Akord", "L_StatusEksportu","Value","Otwieranie arkusza LBH...")
OkGl_Akord.L_StatusEksportu.Value := "Otwieranie arkusza LBH..."
OkGl_Akord.L_StatusEksportu.SetFocus
OkGl_Akord.L_StatusEksportu.Visible := .t.
//SetProperty("OkGl_Akord", "L_StatusEksportu","Visible", .t.)
oExcel := CreateObject( "Excel.Application")
oExcel:Workbooks:Open( plikLBH)
//oAktArkusz := oExcel:ActiveSheet
//msgbox(type("oAktArkusz"))
//msgbox("Aktywny arkusz to: "+oAktArkusz:name)
//msgbox("Arkusz "+xtoc(oExcel:Sheets:Item(2)))
//oExcel:WorkSheets("Aktivitäten"):Select()
oExcel:Sheets(2):Select()
oAktArkusz := oExcel:ActiveSheet
//msgbox("Aktywny arkusz to: "+oAktArkusz:name)
// znajdź pierwszą wolną komórkę
nrWiersza := 2
//SetProperty("OkGl_Akord", "L_StatusEksportu","Visible", .t.)
OkGl_Akord.L_StatusEksportu.Value := "Trwa wyszukiwanie miejsca na wpisy do arkusza. Proszę czekać..."
//SetProperty("OkGl_Akord", "L_StatusEksportu","Value","Trwa wyszukiwanie miejsca na wpisy do arkusza. Proszę czekać...")
do while !empty(oAktArkusz:Cells( nrWiersza, 3 ):Value)
nrWiersza++
enddo
//nrWiersza := 2000
PoczNrWiersza := nrWiersza
SetProperty("OkGl_Akord", "L_StatusEksportu","Value","Dane wyeksportowane znajdują się od wiersza: "+str(nrWiersza))
SetProperty("OkGl_Akord", "L_ProszeCzekac","Visible", .t.)
select("akord")
set order to 1
go top
DBSeek(dtos(OKGL_Akord.D_DoDnia.Value),.t.)
nZakres := recno()
DBSeek(dtos(OKGL_Akord.D_OdDnia.Value),.t.)
nZakres -= recno()
SetProperty("OkGl_Akord", "ProgressBar_1","Visible", .t.)
SetProperty("OkGl_Akord", "ProgressBar_1","RangeMax", nZakres)
nZakres := 0
do while akord->data <= OKGL_Akord.D_DoDnia.Value .and. !eof()
SetProperty("OkGl_Akord", "ProgressBar_1","Value", nZakres++)
reclock(0)
lZapisWiersza := .f.
lZerowanieWiersza := .f.
if akord->FazaExport == 0 .or. akord->FazaExport == 11
nWierszDanych := nrWiersza
lZapisWiersza := .t.
lZerowanieWiersza := .f.
nFazaExportu := 11
nrWiersza ++
endif
if akord->FazaExport == 2 .or. akord->FazaExport == 12
// rekord po poprawie - ponowny zapis - ale we właściwe miejsce
nWierszDanych := akord->XLSWiersz
lZapisWiersza := .t.
lZerowanieWiersza := .f.
nFazaExportu := 12
endif
if akord->FazaExport == 3 .or. akord->FazaExport == 13
nWierszDanych := akord->XLSWiersz
lZapisWiersza := .f.
lZerowanieWiersza := .t.
nFazaExportu := 13
endif
if lZapisWiersza
// zapis do Arkusza
oAktArkusz:Cells( nWierszDanych, 1 ):Value := alltrim(akord->NrMaszyny)
oAktArkusz:Cells( nWierszDanych, 2 ):Value := akord->NrPrac
oAktArkusz:Cells( nWierszDanych, 3 ):Value := akord->Data
oAktArkusz:Cells( nWierszDanych, 3 ):NumberFormat := "dd-mmm-rr"
oAktArkusz:Cells( nWierszDanych, 4 ):Value := akord->(N2C(PoczGodz,2)+":"+N2C(PoczMin,2)+":00")
oAktArkusz:Cells( nWierszDanych, 4 ):NumberFormat := "gg:mm"
oAktArkusz:Cells( nWierszDanych, 5 ):Value := akord->(N2C(KoncGodz,2)+":"+N2C(KoncMin,2)+":00")
oAktArkusz:Cells( nWierszDanych, 5 ):NumberFormat := "gg:mm"
oAktArkusz:Cells( nWierszDanych, 6 ):NumberFormat := "##0"
oAktArkusz:Cells( nWierszDanych, 6 ):Value := akord->IleMinut
oAktArkusz:Cells( nWierszDanych, 7 ):Value := alltrim(akord->NrCzynnosc)
oAktArkusz:Cells( nWierszDanych, 8 ):Value := alltrim(akord->NrZlecenia)
oAktArkusz:Cells( nWierszDanych, 9 ):Value := alltrim(akord->NrCzesci)
oAktArkusz:Cells( nWierszDanych, 10):Value := akord->Ilosc
oAktArkusz:Cells( nWierszDanych, 11):Value := akord->Odpad1
oAktArkusz:Cells( nWierszDanych, 12):Value := akord->Odpad2
oAktArkusz:Cells( nWierszDanych, 13):Value := akord->Odpad3
oAktArkusz:Cells( nWierszDanych, 14):Value := akord->Odpad4
oAktArkusz:Cells( nWierszDanych, 15):Value := akord->Odpad5
oAktArkusz:Cells( nWierszDanych, 16):Value := akord->Odpad6
oAktArkusz:Cells( nWierszDanych, 17):Value := akord->Odpad7
replace ;
akord->xls_Wiersz with nWierszDanych,;
akord->FazaExport with nFazaExportu
endif
if lZerowanieWiersza
// zapis do Arkusza
oAktArkusz:Cells( nWierszDanych, 1 ):Value := ""
oAktArkusz:Cells( nWierszDanych, 2 ):Value := ""
oAktArkusz:Cells( nWierszDanych, 3 ):Value := akord->Data
oAktArkusz:Cells( nWierszDanych, 3 ):NumberFormat := "dd-mmm-rr"
oAktArkusz:Cells( nWierszDanych, 4 ):Value := ""
oAktArkusz:Cells( nWierszDanych, 4 ):NumberFormat := "gg:mm"
oAktArkusz:Cells( nWierszDanych, 5 ):Value := ""
oAktArkusz:Cells( nWierszDanych, 5 ):NumberFormat := "gg:mm"
oAktArkusz:Cells( nWierszDanych, 6 ):NumberFormat := "##0"
oAktArkusz:Cells( nWierszDanych, 6 ):Value := 0
oAktArkusz:Cells( nWierszDanych, 7 ):Value := ""
oAktArkusz:Cells( nWierszDanych, 8 ):Value := ""
oAktArkusz:Cells( nWierszDanych, 9 ):Value := ""
oAktArkusz:Cells( nWierszDanych, 10):Value := ""
oAktArkusz:Cells( nWierszDanych, 11):Value := ""
oAktArkusz:Cells( nWierszDanych, 12):Value := ""
oAktArkusz:Cells( nWierszDanych, 13):Value := ""
oAktArkusz:Cells( nWierszDanych, 14):Value := ""
oAktArkusz:Cells( nWierszDanych, 15):Value := ""
oAktArkusz:Cells( nWierszDanych, 16):Value := ""
oAktArkusz:Cells( nWierszDanych, 17):Value := ""
replace ;
akord->xlsWiersz with nWierszDanych,;
akord->FazaExport with nFazaExportu
endif
unlock
lZapisWiersza := .f.
lZerowanieWiersza := .f.
skip
enddo
SetProperty("OkGl_Akord", "L_StatusEksportu","Value","Wyeksportowano dane. Zapisano od wiersza "+alltrim(str(PoczNrWiersza)))
oExcel:Visible := .t.
if MsgYesNO("Potwierdzasz prawidłowość wykonania operacji eksportu")
// tutaj można zaznaczyć rekordy, że zostały wyeksportowane
DBSeek(dtos(OKGL_Akord.D_OdDnia.Value),.t.)
do while akord->data <=OKGL_Akord.D_DoDnia.Value .and. !eof()
if akord->FazaExport>10
reclock(0)
replace ;
FazaExport with 1
unlock
endif
skip
enddo
endif
SetProperty("OkGl_Akord", "L_StatusEksportu","Visible", .t.)
ZamknijBazy(TabOB)
SetProperty("OkGl_Akord", "L_ProszeCzekac","Visible", .f.)
SetProperty("OkGl_Akord", "ProgressBar_1","Visible", .f.)
//oExcel:Save()
//oExcel:SaveAs(plikLBH)
//oExcel:Quit()
return