Foxtable(狐表)用户栏目专家坐堂 → 数据导出EXCEL


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

主题:数据导出EXCEL

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


加好友 发短信
等级:四尾狐 帖子:927 积分:6676 威望:0 精华:0 注册:2013/8/10 18:33:00
数据导出EXCEL  发帖心情 Post By:2023/10/19 6:50:00 [只看该作者]

老师,请问我窗口中查询表,想导出EXCEL,但是导出时想实现5000行生成一个EXCEL文件,即如果窗口表中如果有3万条数据,点导出则自动拆分成6个EXCEL文件。请问如何实现。

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/10/19 8:28:00 [只看该作者]

对查询表做分页加载,每页5000行:http://www.foxtable.com/webhelp/topics/2269.htm

然后加载一页就导出一页:http://www.foxtable.com/webhelp/topics/1145.htm


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


加好友 发短信
等级:四尾狐 帖子:927 积分:6676 威望:0 精华:0 注册:2013/8/10 18:33:00
  发帖心情 Post By:2023/10/19 9:09:00 [只看该作者]

老师,大概明白了点意思又没全明白,我是想窗口中的查询表(有多少条记录每次不一样),查询出来后,点一个导出按钮,就按5000行一个EXCEL文件就直接全导出来了,例16000条就一下导出来4个文件,可以叫001,002,003,004,一下子就全部导出来了,
不要点下一页导出一个,再点下一页再导出一个。操作多次。谢谢老师再给详细的说说这样的做法。

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/10/19 9:27:00 [只看该作者]

先生成第一页,然后通过TotalPages判断总共有几页:http://www.foxtable.com/webhelp/topics/1928.htm,按总页数做个循环逐页导出

With DataTables("订单") 加载第一页
    .
LoadTop = 5000
    .
LoadPage = 0
    .
Load
End With
这里是导出数据的代码
for i as integer = 1 to DataTables("订单").TotalPages 从第2页开始遍历
With DataTables("订单")
    .
LoadTop = 5000
    .
LoadPage = i
    .
Load
End With
这里是导出数据的代码
next

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


加好友 发短信
等级:四尾狐 帖子:927 积分:6676 威望:0 精华:0 注册:2013/8/10 18:33:00
  发帖心情 Post By:2023/10/20 0:44:00 [只看该作者]

谢谢老师,前面导出第一页实现了,但是后面的循环没起作用,执行不出来结果。

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/10/20 8:32:00 [只看该作者]

代码?

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


加好友 发短信
等级:四尾狐 帖子:927 积分:6676 威望:0 精华:0 注册:2013/8/10 18:33:00
  发帖心情 Post By:2023/10/21 8:16:00 [只看该作者]

老师,代码如下:只导出了第一页的20行,后面的就不导出了。窗口的表是查询表。

With DataTables("CCCC_Table1") 
    .LoadTop = 20
    .LoadPage = 0
    .Load
End With

Dim flg As New SaveExcelFlags
Tables("CCCC_Table1").SaveExcel("D:\明细" & format(Date.now,"yyyyMMddHHmmss") & ".xls","xmmb",flg)


For i As Integer = 1 To DataTables("CCCC_Table1").TotalPages
With DataTables("CCCC_Table1") 
    .LoadTop = 20
    .LoadPage = i
    .Load
End With

Dim flg2 As New SaveExcelFlags
Tables("CCCC_Table1").SaveExcel("D:\明细" & format(Date.now,"yyyyMMddHHmmss") & ".xls","xmmb",flg2)

Next

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


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

要设置一下LoadOver

With DataTables("CCCC_Table1") 
    .LoadTop = 20
    .LoadPage = 0
    .LoadOver = "某个值不重复的列,比如编号"
    .Load
End With

……
For i As Integer = 1 To DataTables("CCCC_Table1").TotalPages
With DataTables("CCCC_Table1") 
    .LoadTop = 20
    .LoadPage = i
    .LoadOver = "某个值不重复的列,比如编号"
    .Load
End With

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


加好友 发短信
等级:四尾狐 帖子:927 积分:6676 威望:0 精华:0 注册:2013/8/10 18:33:00
  发帖心情 Post By:2023/10/21 9:53:00 [只看该作者]

老师,我这里没有主健,我查询代码里虚拟了一个行的序号作为主健也不可以,.我在 LoadOver = "某个值不重复的列,比如编号"  这里要主表与明细表结合才能组成不重复的值,即A表+B表。我放两个上总报错,提示B表的不存在。请问如何放两个值正确?

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


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

用了什么sql?代码?

 回到顶部
总数 17 1 2 下一页