以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 【求助】根据数据表级别内容,生成级别报表 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=104316) |
||||
-- 作者:李孝春 -- 发布时间:2017/7/27 11:01:00 -- 【求助】根据数据表级别内容,生成级别报表 【求助】根据数据表级别内容,生成级别报表 根据表中的数据来生成如下表 此主题相关图片如下:2.png
[此贴子已经被作者于2017/7/27 11:02:25编辑过]
|
||||
-- 作者:有点甜 -- 发布时间:2017/7/27 11:26:00 -- 直接把数据导出,合并一下即可。
http://www.foxtable.com/webhelp/scr/1530.htm
|
||||
-- 作者:李孝春 -- 发布时间:2017/7/27 11:33:00 -- 回复:(有点甜)直接把数据导出,合并一下即可。&n... 同一列没有问题 现在问题是 类别是考评类别和考评项两列合并而成的 当考评项没有值得时候 就将考评类别和考评项两列合并为一列 这个怎么解决呢? 当考评项有值得时候 就分别显示考评类别和考评项 考评类别相同的就合并了 考评项相同的就合并了
|
||||
-- 作者:有点甜 -- 发布时间: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
|
||||
-- 作者:李孝春 -- 发布时间:2017/7/27 15:46:00 -- 回复:(有点甜)?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.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编辑过]
|
||||
-- 作者:有点甜 -- 发布时间: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() |
||||
-- 作者:李孝春 -- 发布时间:2017/7/28 10:41:00 -- 回复:(有点甜)Dim Book As New XLS.Book(ProjectPa... 谢谢 我再仔细读读代码 |