Dim tb As Table=CurrentTable
Dim ckl As WinForm.CheckedListBox = e.Form.Controls("CheckedListBox1")
Dim nms1 As New List(of String)
Dim nms As New List(of String)
For i As Integer = 0 To ckl.Items.count - 1 '获取已经勾选的列
If ckl.GetItemChecked(i) Then
For Each dc As Col In tb.Cols
If dc.caption=ckl.Items(i) Then
nms.Add(dc.name)
nms1.Add(dc.caption)
Exit For
End If
Next
End If
Next
'
'End If
'Next
If nms.Count = 0 Then
MessageBox.Show("至少要选择一列","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
Return
End If
'生成Excel表
Dim dt As Table =tb
Dim Book As New XLS.Book
Dim Sheet As XLS.Sheet = Book.Sheets(0)
For i As Integer = 0 To nms1.count -1
Sheet(0, i).Value = nms1(i)
Next
For r As Integer = 0 To dt.Rows.Count - 1 '填入数据
For i As Integer = 0 To nms.count -1
Sheet(r + 1, i).Value = dt.rows(r)(nms(i))
Next
Next
'保存并打开excel文件
Dim dlg As New SaveFileDialog '定义一个新的SaveFileDialog
dlg.Filter= "Excel文件|*.xlsx" '设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
MessageBox.Show("你要保存为:" & dlg.FileName,"提示") '提示用户选择的文件
Else
' MessageBox.Show("你没有输入导出文件名,如需导出请再次进入","提示")
Forms("导出学生信息Excel").close()
Return
End If
Book.Save(dlg.FileName)
Dim Proc As New Process
Proc.File =dlg.FileName
Proc.Start()