不用vba,纯狐表帮助中的代码: 导出Exce(多表头 三层)
Dim n,cn As Integer
Dim b1 As String
Dim Book As New XLS.Book(ProjectPath & "test.xls")
Dim Sheet As XLS.Sheet = Book.Sheets(0)
Dim Style As XLS.Style = Book.NewStyle()
Style.AlignHorz = XLS.AlignHorzEnum.Center
Style.AlignVert = XLS.AlignVertEnum.Center
For Each dc As Col In Tables("表A").Cols
If cn = 0
cn = dc.Name.split("_").length
ElseIf cn < dc.Name.split("_").length
cn = dc.Name.split("_").length ' 最大层次
End If
Next
For Each dc As Col In Tables("表A").Cols
For ii As Integer = 0 To dc.Name.split("_").length-1
b1 = b1 & dc.Name.split("_")(ii) & "_"
Sheet(ii+1,n+1).Value = dc.name.split("_")(ii)
Sheet(ii+1,n+1).Style = Style ' 字体居中
Next
If dc.Name.split("_").length > 1
If dc.Name.split("_").length = 1
Sheet.MergeCell(1,n+1,cn,1) ' (0,n,cn,n)
ElseIf dc.Name.split("_").length = 2
Sheet.MergeCell(2,n+1,cn-1,1)
End If
If b1.split("_")(0) = dc.name.split("_")(0)
Sheet.MergeCell(1,n,1,2)
End If
End If
n = n + 1
b1 = ""
Next
sheet(0,1).Value = "你喜欢的表名"
Sheet.MergeCell(0,1,1,Tables("表A").Cols.Count)
sheet(0,1).Style = Style
Book.Save(ProjectPath & "test.xls")
Dim Proc As New Process
Proc.File = ProjectPath & "test.xls"
Proc.Start()
[此贴子已经被作者于2012-1-16 14:40:17编辑过]