Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Report Output To Excel.... Is this possible? If so best
Message
From
06/01/2001 15:09:58
 
 
To
06/01/2001 09:02:24
General information
Forum:
Visual FoxPro
Category:
Reports & Report designer
Miscellaneous
Thread ID:
00459677
Message ID:
00460237
Views:
21
>Look at Application.DataToClip() to copy VFP table/cursor data to the
>windows clipboard and then paste it into Excel. You are not constrained
>to the 16K limit like COPY TO XLS. Another benefit to this
>approach is that you can have a preformatted Excel spreadsheet template
>and simply drop the data into it and save as another name. Here is an
>example of that technique:
>
>oExcel = CREATEOBJECT('Excel.Application')
>
>*-- Open the preformatted Excel template file
>oExcel.WorkBooks.Open(cExcelTemplateFile) && This is read only
>
>GO TOP IN vfp_cursor
>*-- Copy tab delimited list of table values to windows clipboard
>Application.DataToClip('vfp_cursor', RECCOUNT('vfp_cursor'), 3)
>
>WITH oExcel
>*-- Select the proper sheet
>.Sheets('sheetname').Select()
>*-- Position the cursor
>.Selection.Range("A6").Select()
>*-- Paste the contents of the clipboard
>.ActiveSheet.Paste()
>
>*-- Get rid of the table column names
>.Rows("6:6").Select()
>.Selection.ClearContents()
>.Range("A1").Select()
>
>.DisplayAlerts = .F.
>*-- Save file under a new name hence preserving the template for future use
>.ActiveWorkBook.SaveAs(cDirAndFileName)
>.Quit()
>ENDWITH
>
>oExcel = .NULL.
>RELEASE oExcel
>

Does the paste method still have problems dealing with .NULL. values? Is the paste method still limited in total size (used to be around 5K bytes???). I've not tried much pasting into Excel lately, so I'm not sure.

The NULL problem was a real bear, and the limited size could be dealt with in a loop. But the net result was *way* faster then trying to automate filling the cells of a sheet one by one, that's for sure.
Fred
Microsoft Visual FoxPro MVP

foxcentral.net
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform