以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  求教,如何导出临时表?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=24488)

--  作者:baoxyang
--  发布时间:2012/10/15 16:54:00
--  求教,如何导出临时表?
Dim dt As DataTable = cmd.ExecuteReader()产生的临时表如何导出成Excel表呢?
--  作者:baoxyang
--  发布时间:2012/10/15 17:00:00
--  
首先感谢你的热心帮助!这个肯定知道啊.我提问是否你看明白没,请再给建议!谢谢!!
--  作者:飞
--  发布时间:2012/10/15 17:05:00
--  
呵呵,这个恐怕只能编码用VBA实现了,或者简单一点的方法,在窗口上的放一个sqlquery型的table,然后做一个按钮调用table对象的SaveExcel方法来导出
--  作者:狐狸爸爸
--  发布时间:2012/10/15 17:06:00
--  

不用,直接:

 

http://www.foxtable.com/help/topics/1148.htm

 


--  作者:baoxyang
--  发布时间:2012/10/15 17:56:00
--  

Dim cmd As New SQLCommand
cmd.C
Dim sg As String = "select a.提货合同号,a.客户名称,a.提货运费,b.目的城市,b.车牌号,b.司机姓名,b.提货日期 from {提货合同明细} a left join {提货合同单据} b on a.提货合同号 = b.提货合同号 where "
Dim st As String
If Tables("S提货合同查询_Table1").count > 0 Then
    For i As Integer = 0 To Tables("S提货合同查询_Table1").count -1
        Dim r As Row = Tables("S提货合同查询_Table1").Rows(i)
        Dim t As String = " a.提货合同号 = \'" & r("提货合同号") & "\' or"
        st = st & t
    Next
    sg = sg & st
    sg = sg.Trim()
    sg = sg.Remove(sg.length -2,2)
    If e.form.ExistControl("Table3") Then
       e.form.RemoveControl("Table3")
    End If
    Dim tbl As WinForm.Table
    tbl = e.Form.CreateSQLQuery("Table3",sg,"baox")
    tbl.SetBounds(10, 10, 600, 400)
    e.Form.AddControl(tbl)
    tbl.visible = False
    Dim dlg As New SaveFileDialog \'定一个新的SaveFileDialog
    dlg.Filter= "Excel文件|*.xls" \'设置筛选器
    Dim ss As String
    If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮
        ss = dlg.FileName
        If FileSys.FileExists("& ss &") = True Then
            FileSys.DeleteFile("& ss &",2,2) \'则彻底删
        End If
        Tables("S提货合同查询_Table3").SaveExcel(ss,"提货合同明细",False)
    End If
End If

这样也可以解决,是否妥当呢?谢指点!!


--  作者:baoxyang
--  发布时间:2012/10/15 17:59:00
--  
以下是引用在2012-10-15 17:05:00的发言:
呵呵,这个恐怕只能编码用VBA实现了,或者简单一点的方法,在窗口上的放一个sqlquery型的table,然后做一个按钮调用table对象的SaveExcel方法来导出

上面基本是采用此方法原理来处理的.只是table是动态增加.


--  作者:baoxyang
--  发布时间:2012/10/15 17:59:00
--  
谢谢各位热心帮助!
--  作者:zzwxm98
--  发布时间:2012/10/15 21:12:00
--  
尽管http://www.foxtable.com/help/index.html?n=1148.htm有提供导出的代码,但还是不方便,能否提供一个函数或功能,直接导出当前桌面的表,如临时表、查询表等。