Foxtable(狐表)用户栏目专家坐堂 → Excel模板中怎么基于窗体表数据生成报表?


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

主题:Excel模板中怎么基于窗体表数据生成报表?

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


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
Excel模板中怎么基于窗体表数据生成报表?  发帖心情 Post By:2021/12/1 3:06:00 [只看该作者]

基于后台数据生成报表

Dim Book As New XLS.Book(ProjectPath & "Attachments\台账.xls")
Dim
 fl As String = ProjectPath & "Reports\台账.xls"
book
.AddDataTable("台账","测试","Sel ect * from {台账}")
Book
.Build()
Book
.Save(fl)
Dim
 Proc As New Process
Proc
.File = fl
Proc
.Start()

这个帮助怎么修改为基于当前窗体表 Tables("台账录入_table1")中显示的数据  生成对应的台账xls呢?

麻烦老师指导下!谢谢

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


加好友 发短信
等级:超级版主 帖子:106097 积分:539590 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/12/1 9:07:00 [只看该作者]


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


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)参考:http://www.foxtable.com/webh...  发帖心情 Post By:2021/12/1 10:19:00 [只看该作者]



全选代码:
For Each r As Row In Tables("台账录入_table1").Rows
    r.Checked = True
Next

生成excel代码:
Dim Book As New XLS.Book(ProjectPath & "Attachments\台账.xls")
Dim fl As String = ProjectPath & "Reports\台账.xls"
Dim Sheet As XLS.Sheet = Book.Sheets(0)
Sheet(2,0).Value = "<台账录入_Table1,10>"  '写入表名
Book.Build() '生成细节区
'Book.Sheets(0).Rows.RemoveAt(0) '删除第一行,Excel报表的第一行通常是标记行
Book.Save(fl) '保存工作簿
Dim Proc As New Process '打开工作簿
Proc.File = fl
Proc.Start()

想实现先全选后,把当前窗体表的所有被选择行的数据打印出来。
当前实现全选了,但是打印的数据永远只有被鼠标选择的行,而不是多有行
图片点击可在新窗口打开查看

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


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

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=169635&skin=0

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


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)http://www.foxtable.com/bbs/dispbb...  发帖心情 Post By:2021/12/1 11:52:00 [只看该作者]

不好意思啊  老师  貌似好像环境不适合  这次是sqltable类型的窗体表

以下内容是专门发给有点蓝浏览


还得麻烦老师继续指导下   谢谢!

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


加好友 发短信
等级:超级版主 帖子:106097 积分:539590 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/12/1 12:08:00 [只看该作者]

一样的东西,窗口表也就名称不一样:http://www.foxtable.com/webhelp/topics/1907.htm

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


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)一样的东西,窗口表也就名称不一样:...  发帖心情 Post By:2021/12/1 13:43:00 [只看该作者]

For Each r As Row In Tables("台账录入_table1").Rows
    r.Checked = True
Next


Dim lst As New List(of String)
For Each r As Row In Tables("台账录入_table1").GetCheckedRows
    lst.add(r("_Identify"))
Next
MessageBox.Show(lst.count)
If lst.count = 0 Then
    Return
Else
    Tables("台账录入_table1").filter = "_Identify in (" &string.join(",",lst.toarray)  & ")"
    MessageBox.Show("1")
    Dim Book As New XLS.Book(ProjectPath & "Attachments\台账.xls")
    Dim fl As String = ProjectPath & "Reports\台账.xls"
    Dim Sheet As XLS.Sheet = Book.Sheets(0)
    Sheet(2,0).Value = "<台账录入_Table1,10>"  '写入表名
    Book.Build()
    Book.Save(fl)
    MessageBox.Show("2")
    Dim Proc As New Process '打开工作簿
    Proc.File = fl
    Proc.Start()
End If

当前代码如上  运行如图:

图片点击可在新窗口打开查看此主题相关图片如下:1212.gif
图片点击可在新窗口打开查看


当前代码修正如上,还是没有实现实现所选择的行数据,只有一行

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


加好友 发短信
等级:超级版主 帖子:106097 积分:539590 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/12/1 13:54:00 [只看该作者]


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


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)添加<End>标记:http://www.fo...  发帖心情 Post By:2021/12/1 14:01:00 [只看该作者]

谢谢老师的耐心指导  这个end细节忽视了 导致了弯路 再次感谢老师的辛苦

 回到顶部