可以简化一下
Dim tbs() As String = {"台账一", "台账二", "台账三"}
Dim Book As New XLS.Book
For j As Integer = 1 To tbs.length - 1
Book.Sheets.Add()
Next
Dim tbl As Table
For i As Integer = 0 To tbs.length - 1
tbl = Tables(tbs(i))
Dim hdr2 As Integer = tbl.HeaderRows '获得表头的层数
Dim cnt2 As Integer = 0
Dim Sheet As XLS.Sheet = Book.Sheets(i)
tbl.CreateSheetHeader(Sheet) '生成表头
For c2 As Integer = 0 To tbl.Cols.Count - 1
If tbl.Cols(c2).Visible Then
For r2 As Integer = 0 To tbl.Rows.Count - 1
sheet2(r2 + hdr2, cnt2).value = tbl(r2, c2)
Next
cnt2 = cnt2 + 1
End If
Next
Next
Dim dlg As New SaveFileDialog '定义一个新的SaveFileDialog
dlg.Filter = "Excel文件|*.xls" '设置筛选器
dlg.FileName = "汇总台账"
If dlg.ShowDialog = DialogResult.Ok Then
Book.Save(dlg.FileName)
Dim Proc As New Process
Proc.File = dlg.FileName
Proc.Start()
End If