Subject |
Re: Exportdata sinks |
From |
Bamidele Onwu <bamionwu@yahoo.com> |
Date |
Sun, 02 Aug 2020 12:35:41 -0400 |
Newsgroups |
dbase.getting-started |
Thank you Mervyn. The program was a success
Am out of the woods. Thank you.
Bami
Mervyn Bick Wrote:
> On 2020-08-02 14:19, Bamidele Onwu wrote:
> > Wow, I didn't know about this. Thanks to you Mervyn.
> >
> > I seriously need help but I use mysql as backend. I will be very grateful if I can get sample program of how to export from sql to excel.
> >
>
> There is a comprehensive article on moving data from dBASE to Excel in
> the Advanced Topics of the knowledgebase
>
> http://www.dbase.com/Knowledgebase/adv/activex/ExcelOle/excel.htm
>
> Attached is a rudimentary (but working) program to extract 3 fields from
> a MySQL table and place them in an Excel spreadsheet. You will, of
> course, need to change the connection string as well as the table and
> field names.
>
> Mervyn.
>
>
> d = new adodatabase()
> d.connectionString = "Provider=MSDASQL.1;Persist Security Info=True;Data Source=energydata"
> d.active = true
> q = new adoquery()
> q.sql = "select siteId,eTimestamp,econs from energydata where siteId = '227105' "
> q.sql += "and eTimestamp between '2020-06-05 010:00:00' and '2020-06-05 12:55:00' "
> q.active = true
> oExcel = new oleAutoclient("excel.application")
> // oExcel.visible = true
> oExcel.workbooks.add()
> nRow = 1
> //Add headings
> for i = 1 to q.rowset.fields.size
> oExcel.ActiveSheet.cells( nRow, i ).select()
> with ( oExcel.ActiveCell )
> if i = 1
> ColumnWidth := 8
> formula := 'siteID'
> elseif i = 2
> ColumnWidth := 20
> formula := 'Timestamp'
> elseif i = 3
> ColumnWidth := 10
> formula := 'Econs'
> endif
> endwith
> next
> nRow++
> do while not q.rowset.endofset
> for i = 1 to q.rowset.fields.size
> oExcel.ActiveSheet.cells( nRow, i ).select()
> if i = 1
> oExcel.Activecell.formula = "'"+q.rowset.fields[i].value
> elseif i = 2
> oExcel.Activecell.formula = "'"+dttoc(q.rowset.fields[i].value)
> elseif i = 3
> oExcel.Activecell.formula = q.rowset.fields[i].value
> endif
> next
> nRow++
> q.rowset.next()
> enddo
>
> q.active= false
> d.active = false
> oExcel.visible = true
|
|