Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Report Output To Excel.... Is this possible? If so best
Message
General information
Forum:
Visual FoxPro
Category:
Reports & Report designer
Miscellaneous
Thread ID:
00459677
Message ID:
00460286
Views:
22
Hi Ed!

Report Ouput to Excel is possible... You have to create a pre-format template in excel...

***** I want to share my previous program...
***** This source code is extracted from my previous program..
***** I usually include an excel report to my client
DIMENSION arrField(1)
tmpsheet = GETOBJECT('','excel.sheet')
XLApp = tmpsheet.APPLICATION
XLApp.VISIBLE = .T.
XLApp.WorkBooks.Open(sys(5)+curdir()+"fieldcash.xls")
cFile = "FCBR "+;
CMONTH(CTOD("01/" + RIGHT(reconcil.monthyear,2) + "/"+LEFT(reconcil.monthyear,4) ))+" "+;
LEFT( reconcil.monthyear,4)+".XLS"
XLApp.ActiveWorkbook.SaveAs(cFile)
XLSheet = XLApp.ActiveSheet
i = 0
i = i + 1
XLSheet.Cells(i,1).VALUE = "INTERNATIONAL ORGANIZATION FOR MIGRATION (IOM)"
i = i + 1
XLSheet.Cells(i,1).VALUE = "Mobile Information Referral and Community Assistance Service (MIRCAS)"
i = i + 1
XLSheet.Cells(i,1).VALUE = SETUP.header1
i = i + 1
XLSheet.Cells(i,1).VALUE = SETUP.header2
i = i + 1
XLSheet.Cells(i,1).VALUE = SETUP.header3
i = i + 1
i = i + 1
i = i + 1
XLSheet.Cells(i,1).VALUE = "FIELD CASH/BANK REPORT"
i = i + 1
i = i + 1
XLSheet.Cells(i,2).VALUE = ": "+LEFT( reconcil.monthyear,4)
XLSheet.Cells(i,6).VALUE = ": "+SETUP.CURRENCY
XLSheet.Cells(i,10).VALUE = ": "+SETUP.SETUP
i = i + 1
XLSheet.Cells(i,2).VALUE = ": "+CMONTH(CTOD("01/" + RIGHT(reconcil.monthyear,2) + "/"+LEFT(reconcil.monthyear,4) ))
XLSheet.Cells(i,6).VALUE = ": "+SETUP.bank
XLSheet.Cells(i,10).VALUE = ": "+SETUP.misscode
i = i + 2
i = i + 2
XLSheet.Cells(i,1).VALUE = LEFT(reconcil.monthyear,4)
XLSheet.Cells(i,11).VALUE = ALLT(STR(reconcil.begbalance,13,2))
THISFORM.curmoyr = reconcil.monthyear
THISFORM.CURDATE = CTOD("01/"+RIGHT(THISFORM.curmoyr,2)+"/"+LEFT(THISFORM.curmoyr,4))
tempdate = THISFORM.CURDATE+31
curdate2 = CTOD("01/"+STR(MONTH(tempdate),2,0)+"/"+STR(YEAR(tempdate),4,0))-1
SELECT VOUCHER
WAIT WINDOW "Please wait..." NOWAIT
SELECT reconcil
SET FILTER TO reconcil.monthyear=THISFORM.curmoyr
GO TOP
************
SELECT VOUCHER2
SET FILTER TO prv_date>=reconcil.BEGDATE .AND. prv_date <= reconcil.ENDDATE
GO TOP
SELECT VOUCHER
SET SKIP TO
SET FILTER TO prv_date>=reconcil.BEGDATE .AND. prv_date <= reconcil.ENDDATE
GO TOP
IF !EOF()
REPLACE VOUCHER.fund_bal WITH (reconcil.begbalance-VOUCHER.AMOUNT)
nAmount = VOUCHER.fund_bal
SKIP 1
DO WHILE !EOF()
REPLACE VOUCHER.fund_bal WITH (nAmount-VOUCHER.AMOUNT)
nAmount = VOUCHER.fund_bal
SKIP 1
ENDDO
GO TOP
SELECT VOUCHER
SET SKIP TO VOUCHER2
GO TOP
WAIT WINDOW "Done ... " NOWAIT
THISFORM.HIDE
ENDIF
IF EOF()
=MESSAGEBOX("No available record for this period!", 48, nACCIOMver)
ELSE
SELECT VOUCHER
GO TOP
cur_code = ""
isfirst = .T.
nAmt_Debit = 0
nAmt_Credit = 0
nPay_Debit = 0
nPay_Credit = 0
nReceipt = 0

ntAmt_Debit = 0
ntAmt_Credit = 0
ntPay_Debit = 0
ntPay_Credit = 0
ntReceipt = 0
WAIT WINDOW "Starting Excel..." NOWAIT
GO TOP
i = i + 1
SCAN
IF cur_code<>VOUCHER.prv_no
i = i + 1
cCell = "A"+ALLT(STR(i))
XLApp.Range(cCell).Select
XLApp.Selection.EntireRow.Insert
*********************************
XLSheet.Cells(i,1).VALUE = PADL(ALLT(STR(DAY(VOUCHER.prv_date),2,0)),2,"0")+"-"+SUBSTR(CMONTH(VOUCHER.prv_date),1,3)
XLSheet.Cells(i,2).VALUE = PROPER(MLINE(VOUCHER.PAIDTO_RECFR,1))
XLSheet.Cells(i,3).VALUE = PROPER(MLINE(VOUCHER.PARTICULARS,1))
XLSheet.Cells(i,4).VALUE = VOUCHER.prv_no
XLSheet.Cells(i,5).VALUE = VOUCHER.CHECK_NO
nAmt_Debit = IIF(VOUCHER.AMOUNT<0, -1*VOUCHER.AMOUNT, 0)
nAmt_Credit = IIF(VOUCHER.AMOUNT>0, VOUCHER.AMOUNT, 0)

ntAmt_Debit = ntAmt_Debit + nAmt_Debit
ntAmt_Credit = ntAmt_Credit + nAmt_Credit
XLSheet.Cells(i,6).VALUE = IIF(VOUCHER.AMOUNT<0, -1*VOUCHER.AMOUNT, "")
XLSheet.Cells(i,7).VALUE = IIF(VOUCHER.AMOUNT>0, VOUCHER.AMOUNT, "")
XLSheet.Cells(i,11).VALUE = IIF(VOUCHER.fund_bal<>0,VOUCHER.fund_bal,"")
nFund_balance = VOUCHER.fund_bal
ENDIF
i = i + 1
cCell = "A"+ALLT(STR(i))
XLApp.Range(cCell).Select
XLApp.Selection.EntireRow.Insert
nPay_Debit = IIF(VOUCHER2.AMT_DEBIT<>0,STR(VOUCHER2.AMT_DEBIT,13,2),"")
nPay_Credit = IIF(VOUCHER2.amt_credit<>0,IIF(VOUCHER2.acct_code<>"1-553",STR(VOUCHER2.amt_credit,13,2),""),"")
nReceipt = IIF(VOUCHER2.amt_credit<>0,IIF(VOUCHER2.acct_code="1-553",STR(VOUCHER2.amt_credit,13,2),""),"")

ntPay_Debit = ntPay_Debit + VAL(nPay_Debit)
ntPay_Credit = ntPay_Credit + VAL(nPay_Credit)
ntReceipt = ntReceipt + VAL(nReceipt)

XLSheet.Cells(i,8).VALUE = IIF(VOUCHER2.AMT_DEBIT<>0,VOUCHER2.AMT_DEBIT,"")
XLSheet.Cells(i,9).VALUE = IIF(VOUCHER2.amt_credit<>0,IIF(VOUCHER2.acct_code<>"1-553",STR(VOUCHER2.amt_credit,13,2),""),"")
XLSheet.Cells(i,10).VALUE = IIF(VOUCHER2.amt_credit<>0,IIF(VOUCHER2.acct_code="1-553",VOUCHER2.amt_credit,""),"")
XLSheet.Cells(i,12).VALUE = VOUCHER2.acct_code
XLSheet.Cells(i,13).VALUE = IIF(VOUCHER2.budget_line<>0,ALLT(STR(VOUCHER2.budget_line,5,2)),"")
XLSheet.Cells(i,14).VALUE = PROPER(VOUCHER2.INV_REF_NO)
cur_code = VOUCHER.prv_no
SELECT VOUCHER
ENDSCAN
XLSheet.Cells(i+2,11).VALUE = nFund_balance
i = i + 4
WAIT WINDOW "Trend Data Retrieved" TIMEOUT 2
SET DEFA TO (SYS(2003))
ENDIF
SELECT reconcil
SET FILTER TO
SELECT VOUCHER2
SET FILTER TO
SELECT VOUCHER
SET FILTER TO
CLOSE TABLES
THISFORM.RELEASE
Joe Mamokan
Database Specialist
Email Address: mamokan@eudoramail.com
Url Address: http://visnet_dd.tripod.com
"Can you VISUALIZE Quick Data Access"
Cell # +639172482033
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform