Foxtable(狐表)用户栏目专家坐堂 → 【求助】根据数据表级别内容,生成级别报表


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

主题:【求助】根据数据表级别内容,生成级别报表

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


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
【求助】根据数据表级别内容,生成级别报表  发帖心情 Post By:2017/7/27 11:01:00 [只看该作者]

【求助】根据数据表级别内容,生成级别报表

图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看
根据表中的数据来生成如下表

图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.table




[此贴子已经被作者于2017/7/27 11:02:25编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/7/27 11:26:00 [只看该作者]

直接把数据导出,合并一下即可。

 

http://www.foxtable.com/webhelp/scr/1530.htm

 


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


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(有点甜)直接把数据导出,合并一下即可。&n...  发帖心情 Post By:2017/7/27 11:33:00 [只看该作者]

同一列没有问题
现在问题是  类别是考评类别和考评项两列合并而成的  
当考评项没有值得时候  就将考评类别和考评项两列合并为一列   这个怎么解决呢?
当考评项有值得时候 就分别显示考评类别和考评项   考评类别相同的就合并了   考评项相同的就合并了

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/7/27 12:32:00 [只看该作者]

 excel模板那里,正常引用列数据就好了。最后合并一下

 

http://www.foxtable.com/webhelp/scr/1530.htm

 

 生成excel报表以后,再循环每一行,横向合并数据

 

http://www.foxtable.com/webhelp/scr/1960.htm

 

http://www.foxtable.com/webhelp/scr/1153.htm

 

 


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


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(有点甜)?excel模板那里,正常引用列数据...  发帖心情 Post By:2017/7/27 15:46:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:考评表.xls

目前将上述模版利用下述代码操作后,还是没有实现当考评项是空白的时候,直接将考评类别与考评项合并,并只显示考评类别内容。
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.MergeCell(5,2,2,2)
Book.Build() '生成报表
Book.Save(fl) 
Dim Proc As New Process 
Proc.File = fl
Proc.Start()

红色部分怎么写遍历呢?当考评项是空白的时候,直接将考评类别与考评项合并,并只显示考评类别内容。
对应参照写成如下:
Dim Book As New XLS.Book(ProjectPath & "Attachments\考评表.xls") 
Dim fl As String = ProjectPath & "Reports\考评表.xls"
Dim Sheet As XLS.Sheet = Book.Sheets(0)
For Each dr1 As DataRow In DataTables("考评项").DataRows
    If dr1.IsNull("考评项") = True Then 
        Sheet.MergeCell(5,2,1,1)
        Sheet.MergeCell(6,2,1,1)
    End If
Next
Book.Build() '生成报表
Book.Save(fl)
Dim Proc As New Process
Proc.File = fl
Proc.Start()

结果还是不能达到一楼图片表格效果,实现当考评项是空白的时候,直接将考评类别与考评项合并,并只显示考评类别内容。

麻烦有点甜老师帮我修整一下   谢谢!
[此贴子已经被作者于2017/7/27 15:47:17编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/7/27 17:53:00 [只看该作者]

Dim Book As New XLS.Book(ProjectPath & "Attachments\考评表.xls")
Dim fl As String = ProjectPath & "Reports\考评表.xls"
Dim Sheet As XLS.Sheet = Book.Sheets(0)
Book.Build() '生成报表
sheet = book.sheets(0)
Dim c As Integer = 1
Dim r As Integer = 1
For i As Integer = 4 To sheet.Rows.count-1
    If sheet(i, 1).text = "" AndAlso sheet(i,0).text > "" Then
        c = 2
    End If
    If sheet(i, 0).text = sheet(i+1,0).text AndAlso sheet(i, 1).text = sheet(i+1,1).text Then
        r += 1
    Else
        output.show(sheet(i, 0).text & r & " " & c)
        If c = 2 Then
            sheet.MergeCell(i-r+1, 0, r, c)
        End If
        c = 1
        r = 1
    End If
Next
Book.Save(fl)
Dim Proc As New Process
Proc.File = fl
Proc.Start()

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


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(有点甜)Dim Book As New XLS.Book(ProjectPa...  发帖心情 Post By:2017/7/28 10:41:00 [只看该作者]

谢谢  我再仔细读读代码

 回到顶部