以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  如何导出窗口Table中数据  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=84595)

--  作者:benwong2013
--  发布时间:2016/5/5 14:25:00
--  如何导出窗口Table中数据
在窗口数据维护中添加了一个table控件,其作为表“T_item”的副本,原表中有20列,副本Table只是显示了其中10列,在窗口中会增加一些条件筛选之后结果会在Table中出现,在窗口的按键设置以下代码:
Dim dlg As New SaveFileDialog \'定义一个新的SaveFileDialog
dlg.Filter = "Excel文件|*.xls" \'设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮
    Dim ex As New Exporter
    ex.SourceTableName = "T_Item"
    ex.Filter = Tables("数据维护_Table1").Filter 
    ex.filepath = dlg.FileName  \'指定目标文件
    ex.Format = "Excel"
    ex.Export() \'开始导出
End If

但是导出的确实T_item的全部数据,而不是table显示的数据?

--  作者:大红袍
--  发布时间:2016/5/5 14:29:00
--  

 用SaveExcel吧

 

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

 


--  作者:benwong2013
--  发布时间:2016/5/5 14:35:00
--  
可以了,如果表中是以逻辑表示的时候,导出的数据为True,请问要如何处理;
--  作者:大红袍
--  发布时间:2016/5/5 14:42:00
--  

Dim dlg As New SaveFileDialog \'定义一个新的SaveFileDialog
dlg.Filter= "Excel文件|*.xls" \'设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮
    Dim t As Table = Tables("数据维护_Table1")
    t.SaveExcel(dlg.FileName, t.name)  \'保存文件
    Dim Book As New XLS.Book(dlg.FileName) \'定义一个Excel工作簿
    Dim Sheet As XLS.Sheet = Book.Sheets(t.name) \'引用工作簿的第一个工作表
    For j As Integer = 0 To sheet.cols.count-1
        Dim cname As String = sheet(0, j).Text
        If t.cols(cname).IsBoolean Then
            For i As Integer = 1 To sheet.Rows.count-1
                If sheet(i, j).Text = "1" Then
                    sheet(i, j).Value = "是"
                ElseIf sheet(i, j).Text = "0" Then
                    sheet(i,j).value = "否"
                End If
            Next
        End If
    Next
    book.Save(dlg.FileName)
End If