Foxtable(狐表)用户栏目专家坐堂 → [求助]Excel报表第一页行数与其它页不一样的处理


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

主题:[求助]Excel报表第一页行数与其它页不一样的处理

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


加好友 发短信
等级:一尾狐 帖子:459 积分:3842 威望:0 精华:0 注册:2016/8/21 3:43:00
[求助]Excel报表第一页行数与其它页不一样的处理  发帖心情 Post By:2021/1/11 7:20:00 [只看该作者]

因为贴近原来的一个报表,Excel报表第一页行数有28行,第二页到第十页每页数据行数为43行,每一页有footerrow占3行,如何在Excel报表中处理这个问题呢

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

这个暂时没有办法处理。可以考虑使用专业报表

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


加好友 发短信
等级:一尾狐 帖子:459 积分:3842 威望:0 精华:0 注册:2016/8/21 3:43:00
  发帖心情 Post By:2021/1/11 9:36:00 [只看该作者]

好的,通过报表生成后的代码解决了。场景是生成418行数据区,第一页28行数据,最后一行38行数据,其余44行每页,每页footerrow占3行
Dim Book As New XLS.Book(ProjectPath & "Attachments\AAAA1.xls")
Dim fl As String = ProjectPath & "Reports\BBBBB.xls"
Book.Build() '生成细节区
Book.Save(fl) '保存工作簿
'Dim Proc As New Process '打开工作簿
'Proc.File = fl
'Proc.Start()


Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(fl)
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)


For i As Integer = 0 To 8
    Dim Rg2 As MSExcel.Range 
    If  i < 8 Then
        Rg2  = Ws.Range("A" & 39+3*i+44*i)  '以这个指定的单元格为基准
    Else
        Rg2  = Ws.Range("A" & 39+3*i+44*i-6)  '以这个指定的单元格为基准
    End If
    For i1 As Integer = 1 To 3
        Rg2.EntireRow.Insert(MSExcel.XlInsertShiftDirection.xlShiftDown)'在基准单元格上面插入一行
    Next
Next

Dim Rg As MSExcel.Range
Rg = Ws.Range("456:456,457:457,458:458")
For i2 As Integer = 0 To 8
    If i2 < 8 Then
        Rg.Copy(Ws.Range("A" & (39+3*i2+44*i2)))
    Else
        Rg.Copy(Ws.Range("A" & (39+3*i2+44*i2-6)))
    End If
Next
App.Visible = True
'

 回到顶部