Dim dt As Table = Tables("核酸采样明细")
Dim nms() As String = {"试 管编号","姓名","证件编号","联系电话","检测结果","采样日期","检测机构"} '要导出的列名
Dim caps() As String = {"试 管编号","姓名","证件号码","联系电话","核酸检测结果(阴性/阳性)","核酸检测时间","核酸检测机构"} '要导出的列名
Dim szs() As Integer = {150,120,200,150,200,200,280} '对应的列宽
Dim Book As New XLS.Book '定义一个Excel工作簿
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
Dim drs As List(of DataRow) = DataTables("核酸采样明细").Select("试 管编号 = '" & dt.Current("试 管编号") & "'")
Dim n As Integer = drs.Count
Sheet.MergeCell(n,0,drs.Count,1)
Dim st As XLS.Style = Book.NewStyle '日期列的显示格式
st.For mat = "yyyy-MM-dd hh:mm"
Fo r c As Integer = 0 To nms.length -1
Sheet(0, c).Value = caps(c) '指定列标题
Sheet.Cols(c).Width = szs(c) '指定列宽
If dt.Cols(nms(c)).IsDate Then '如果是日期列
Sheet.Cols(c).Style = st '设置显示格式
End If
Sheet.Cols(c).Style = Style
Next
Fo r r As Integer = 0 To dt.Rows.Count - 1 '填入数据
Sheet.Rows(r).Height = 38
F or c As Integer = 0 To nms.length -1
Sheet(r +1, c).Value = dt.rows(r)(nms(c))
Dim s As String = Sheet(r+1, 3).Value
Sheet(r+1, 3).Value = s.Replace("(-)","")
Next
Next
Dim dlg As New SaveFileDialog '定义一个新的SaveFileDialog
dlg.Filter= "Excel文件|*.xls" '设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
Tables("核酸采样明细").SaveExcel(dlg.FileName, "核酸检测采样表") '保存文件
Dim Proc As New Process
Proc.File = dlg.FileName
Proc.Start()
End If