以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  希望导出EXCEL时只导显示的行(不包括隐藏行)  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=13515)

--  作者:bad
--  发布时间:2011/10/15 9:26:00
--  希望导出EXCEL时只导显示的行(不包括隐藏行)

以下公式为将绩效计划表中的可见列导出EXCEL,但每次导出都是所有行,希望只导出当前显示的行(不包括隐藏行),请问应该加什么公式?谢谢

 

Dim flds As String
    For Each c As Col In Tables("绩效计划表").Cols
        If C.Visible  Then
            flds = flds & "," & c.name
        End If
    Next
    flds= flds.Trim(",")
   
    Dim dlg As New SaveFileDialog \'定义一个新的SaveFileDialog
    dlg.Filter= "Excel文件|*.xls" \'设置筛选器
    If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮
        Dim ex As New Exporter
        ex.SourceTableName = "绩效计划表" \'指定导出表
        ex.FilePath = dlg.FileName \'指定目标文件
        ex.Format = "Excel" \'导出格式为Excel
        ex.Fields = flds  \'指定导出字段
        ex.Export() \'开始导出


--  作者:lihe60
--  发布时间:2011/10/15 11:04:00
--  

这个问题我已经提过。


--  作者:czy
--  发布时间:2011/10/15 13:13:00
--  

这样不行吗?

…………

ex.Filter = Tables("绩效计划表").Filter

ex.Export() \'开始导出


--  作者:bad
--  发布时间:2011/10/15 14:04:00
--  
以下是引用czy在2011-10-15 13:13:00的发言:

这样不行吗?

…………

ex.Filter = Tables("绩效计划表").Filter

ex.Export() \'开始导出

 

好使!!!!!!


--  作者:bad
--  发布时间:2011/10/15 14:10:00
--  
还有一个问题,导出后的数据顺序和显示的顺序是不一致的,这个如何处理?
[此贴子已经被作者于2011-10-15 14:10:12编辑过]

--  作者:czy
--  发布时间:2011/10/15 14:27:00
--  
你不是已经指定了Fields吗,导出是按Fields指定列进行排序的。
--  作者:bad
--  发布时间:2011/10/15 14:46:00
--  

ex.Fields = flds  \'指定导出字段

    我指定导出的字段是当前显示的所有字段,没有指定排序的列呀。想当前显示的是什么顺序就导出什么顺序,但上述公式导出后和显示的顺序不一致。

 

 


--  作者:czy
--  发布时间:2011/10/15 16:50:00
--  
设置Fields不会有问题的,如果再不行发文件上来。
--  作者:mr725
--  发布时间:2011/10/15 18:22:00
--  

是不能正常导出显示的行。 隐藏的行也导出了。

 

另外,加上 Filter

ex.Filter = "某列 In (xxx,yyy) "        \'***老提示错误

 

请老大,版主们 和 狐友们看看

[此贴子已经被作者于2011-10-15 18:31:00编辑过]

--  作者:czy
--  发布时间:2011/10/15 18:50:00
--  

测试没问题。

 

Dim ex As New Exporter
ex.SourceTableName = "表A"
ex.FilePath = "f:\\test.xls"
ex.Format = "Excel"
ex.Filter = "[第一列] In (\'a\',\'d\')"
ex.Export()