Private Sub savefile(ByVal dgv2 As DataTable) Dim app As Object = CreateObject("Excel.Application") Dim xlbook As Object = app.workbooks.add() Dim xR As Integer = dgv2.Rows.Count Dim xC As Integer = dgv2.Columns.Count Dim maxR As Integer = 20000 Dim PageMax As Integer = Int(xR / maxR) If CInt(xR / maxR 0.5) > PageMax Then PageMax = 1 End If Dim i As Integer = 0 Dim col As Integer = 0 Dim row As Integer = 0 For j As Integer = 1 To PageMax Dim xlsheet As Object = xlbook.worksheets.add() xlsheet.name = "工作表" & j xlsheet.activate() If j = PageMax Then maxR = xR - maxR * (PageMax - 1) End If Dim rawData1(maxR, xC - 1) As Object For col = 0 To xC - 1 rawData1(0, col) = dgv2.Columns(col).ColumnName Next For row = 0 To maxR - 1 For col = 0 To xC - 1 rawData1(row 1, col) = dgv2.Rows(i).ItemArray(col).ToString Next i = 1 Next xlsheet.range(xlsheet.cells(1, 1), xlsheet.cells(maxR 1, xC)).value2 = rawData1 xlsheet.Columns.AutoFit() Next ‘ **************** ‘ * 砞﹚砰把计 * ‘ **************** With app.cells ‘.font.Name = "vendana" ‘.font.Size = 10 ‘.HorizontalAlignment = -4108 ‘ キ﹡い ‘.VerticalAlignment = -4108 ‘ ﹡い .Columns.AutoFit() End With app.visible = True app.Quit() DGV1.Columns.Clear() Me.StatusBar1.Panels(0).Text = "" End Sub
DataTable表格导出Excle
如果含有日期格式则需要转换下,oracle 下使用to_char()进行转换成toString格式