如果你可以导出EXCEL为如下格式
a b c d e f
s1 0203 name 3 6 16
s1 0203 name 3 6 16
s2 0203 name 3 6 16
s2 0203 name 3 6 16
s2 0203 name 3 6 16
那么你重新排版就可以得到你要的格式了,也就是判断一下a值,如果下一个和上一个不样插入一行,填充相关值,最后清除a列的值,就可以了吧?
举例:
导出是有如下数据
a b c d e f
s1 0203 name 3 6 16
s1 0203 name 3 6 16
s2 0203 name 3 6 16
s2 0203 name 3 6 16
s2 0203 name 3 6 16
导出时要成这样:
a b c d e f
s1
0203 name 3 6 16
0203 name1 3 6 16
s2
0203 name 3 6 16
0203 name1 3 6 16
0203 name2 3 6 16
就你的例子,以下思路是否可行?
Dim i&
Dim s$
...
rs.Open "select * from yourtable order by a", Conn
rs.MoveFirst
i = 1
s = ""
Do Until rs.EOF
If rs("a") <> s Then
s = rs("a")
XLSHEET.Cells(i, 1) = rs("a")
i = i + 1
End If
XLSHEET.Cells(i, 2) = rs("b")
XLSHEET.Cells(i, 3) = rs("c")
XLSHEET.Cells(i, 4) = rs("d")
XLSHEET.Cells(i, 5) = rs("e")
XLSHEET.Cells(i, 6) = rs("f")
i = i + 1
rs.MoveNext
Loop