For c As Integer = 0 To nms.length - 1
For r As Integer = 0 To dt.Rows.Count - 1 '填入数据
If dt.Cols(nms(c)).IsDate Then '如果是日期列
Sheet(r + 2, c).Style = st2 '设置显示格式
End If
Next
Next
改为
For c As Integer = 0 To nms.length - 1
dim m as integer = -1
dim n as string = dt.rows(0)(nms(c))
For r As Integer = 0 To dt.Rows.Count - 1 '填入数据
Sheet.Rows(r + 2).Height = 30
if n = dt.rows(r)(nms(c)) then
if m=-1 then
m = r + 2
Sheet(r + 2, c).Value = dt.rows(r)(nms(c))
end if
else
Sheet.MergeCell(m, c, r + 1 - m, 1)
m = r + 2
end if
Next
n = dt.rows(r)(nms(c))
Next
[此贴子已经被作者于2022/5/4 21:22:58编辑过]