以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  合并单元格  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=185813)

--  作者:lihe60
--  发布时间:2023/3/18 10:17:00
--  合并单元格
左表是数据表
图片点击可在新窗口打开查看此主题相关图片如下:无标题.png
图片点击可在新窗口打开查看
,如何生成右表格式的excel报表?
--  作者:有点蓝
--  发布时间:2023/3/18 10:29:00
--  
手工合并:http://www.foxtable.com/webhelp/topics/1153.htm
--  作者:lihe60
--  发布时间:2023/3/18 14:30:00
--  
Book.Build() \'生成细节区

Dim i As Integer = 7
Dim h As Integer = 0
Dim r As Integer = Tables("g_业务库").rows.count
Dim k As Integer
If r > 2 Then 
    For j As Integer = Tables("g_业务库").rows.count - 1 To 1 Step - 1
        Dim r1 As Row = Tables("g_业务库").rows(j)
        Dim r2 As Row = Tables("g_业务库").rows(j - 1)
        h = h + 1
        If r2("箱数") <> Nothing Then
            Sheet.MergeCell(r + i - h, 14, h-k+1, 1)
            Sheet.MergeCell(r + i - h, 15, h-k+1, 1)
            Sheet.MergeCell(r + i - h, 16, h-k+1, 1)
            Sheet.MergeCell(r + i - h, 17, h-k+1, 1)
            k = h + 1
        End If      
    Next
End If

Book.Sheets("excel").Rows.RemoveAt(0) \'删除第一行,Excel报表的第一行通常是标记行
Book.Sheets.Remove("e-to-w") \'删除工作表
Book.Save(fl) \'保存工作簿
Dim Proc As New Process \'打开工作簿
Proc.File = fl
Proc.Start()

这个代码有什么问题,单元格不合并的

--  作者:有点蓝
--  发布时间:2023/3/18 14:39:00
--  
调试
            msgbox(r + i - h & “-“ & ” h-k+1)
            Sheet.MergeCell(r + i - h, 14, h-k+1, 1)

--  作者:lihe60
--  发布时间:2023/3/18 14:44:00
--  
 msgbox(r + i - h & “-“ & ” h-k+1),这个调试是对。代码位置是不是不对
--  作者:有点蓝
--  发布时间:2023/3/18 14:46:00
--  
如果不合并,调试肯定是不对的。代码位置看不出什么问题
--  作者:lihe60
--  发布时间:2023/3/18 15:16:00
--  
上传例子
--  作者:lihe60
--  发布时间:2023/3/18 15:18:00
--  
例子
[此贴子已经被作者于2023/3/19 6:16:02编辑过]

--  作者:lihe60
--  发布时间:2023/3/19 6:17:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.rar


--  作者:有点蓝
--  发布时间:2023/3/19 20:08:00
--  
项目里没有父表和子表这2个表,无法测试