Foxtable(狐表)用户栏目专家坐堂 → [求助] 用代码如何导出到EXCEL表?


  共有2506人关注过本帖树形打印复制链接

主题:[求助] 用代码如何导出到EXCEL表?

帅哥哟,离线,有人找我吗?
CHSTONE
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:28 积分:260 威望:0 精华:0 注册:2020/1/13 17:09:00
[求助] 用代码如何导出到EXCEL表?  发帖心情 Post By:2020/2/17 17:52:00 [只看该作者]

各位大神:

下面的代码,只是保存了一个表,如果有多个表,岂不是要保存多次?

For Each dt As DataTable In DataTables
    DataTables(dt.name).save(True)
    Dim ex As New Exporter
    ex.SourceTableName = dt.name '指定导出表
    ex.FilePath = "e:\car\CAR0208.xls" '指定目标文件
    If  FileSys.FileExists( "e:\car\CAR0208.xls" ) = True
        FileSys.DeleteFile( "e:\car\CAR0208.xls" )
    End If
    ex.Format = "Excel" '导出格式为Excel
    ex.Export()
Next

如果一个项目里面有多个表DATATABLE,想将所有表(并且保持原表的格式及数据还有多层表头等)在退出项目之前导出到一个EXCEL文件里,代码该如何写啊?



 回到顶部
帅哥哟,离线,有人找我吗?
CHSTONE
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:28 积分:260 威望:0 精华:0 注册:2020/1/13 17:09:00
  发帖心情 Post By:2020/2/17 19:17:00 [只看该作者]

当然是EXCEL 2007之后的版本了.


 回到顶部
帅哥哟,离线,有人找我吗?
CHSTONE
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:28 积分:260 威望:0 精华:0 注册:2020/1/13 17:09:00
  发帖心情 Post By:2020/2/17 20:06:00 [只看该作者]

各位大神:

如果有多个表DATATABLE,导出到一个EXCEL文件,以下代码可以实现,经验证,无问题.  但是如果想保持表DATATABLE的所有格式及数据还有多层表头等),不知道该如何弄,请指教 ?

Dim fl As String = "e:\car\CAR0208.xls"       '定义存放文件名包括完整路径的变量
DataTables.Save                                          '所有表存盘
If  FileSys.FileExists(fl)                                 '判断文件是否存在
    FileSys.DeleteFile(fl)                               '如果存在则删除
End If
For Each dt As DataTable In DataTables     '遍历所有 DataTable表
    Dim ex As New Exporter
    ex.SourceTableName = dt.name           '指定导出表,因为是遍历,所以每个表都导出
    ex.FilePath = fl '指定目标文件                 '所有的DATATABLE表都导出取此EXCEL文件
    ex.Format = "Excel"                            '导出格式为Excel   '定义格式
    ex.Export()                                         '导出
Next


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107135 积分:544918 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/2/17 20:16:00 [只看该作者]

需要使用SaveExcel导出:http://www.foxtable.com/webhelp/topics/0559.htm

 回到顶部
帅哥哟,离线,有人找我吗?
CHSTONE
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:28 积分:260 威望:0 精华:0 注册:2020/1/13 17:09:00
  发帖心情 Post By:2020/2/17 21:08:00 [只看该作者]

我试过以,以下代码不行,老师能不能帮看看?


Dim flname As String = "E:\记价表\记价表.XLS"
If FileSys.FileExists(flname) Then
FileSys.DeleteFile(flname)
End If

For Each tb As Table In Tables
Dim flg As New SaveExcelFlags
flg.VisibleOnly = False
flg.RowNumber = True
flg.CellStyle = True
Tables(tb.name).SaveExcel(flname,tb.name,flg)
Next

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107135 积分:544918 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/2/17 21:21:00 [只看该作者]

什么东西不行?

Dim flname As String = "D:\问题\记价表.XLS"
If FileSys.FileExists(flname) Then
    FileSys.DeleteFile(flname)
End If

Dim flg As New SaveExcelFlags
flg.VisibleOnly = False
flg.RowNumber = True
flg.CellStyle = True
For Each tb As Table In Tables
    tb.SaveExcel(flname,tb.name,flg)
Next

 回到顶部