Dim rowsTotal, colsTotal As Short Dim I, j, iC As Short System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.WaitCursor Dim xlApp As New Excel.Application Try Dim excelBook As Excel.Workbook = xlApp.Workbooks.Add Dim excelWorksheet As Excel.Worksheet = CType(excelBook.Worksheets(1), Excel.Worksheet) xlApp.Visible = True rowsTotal = DataGridView1.RowCount - 1 colsTotal = DataGridView1.Columns.Count - 1 With excelWorksheet .Cells.Select() .Cells.Delete() For iC = 0 To colsTotal .Cells(3, iC + 1).Value = DataGridView1.Columns(iC).HeaderText Next For I = 0 To rowsTotal - 1 For j = 0 To colsTotal - 1 .Cells(I + 5, j + 1).value = DataGridView1.Rows(I).Cells(j).Value Next j Next I .Rows("1:1").Font.FontStyle = "Bold" .Rows("1:1").Font.Size = 11 .Rows("3:1").Font.FontStyle = "Bold" .Rows("3:1").Font.Size = 11 .Cells.Columns.AutoFit() .Cells.Select() .Cells.EntireColumn.AutoFit() .Cells(1, 1).Select() For j = 0 To colsTotal .Cells(I + 5, j + 1).value = DataGridView1.Rows(I).Cells(j).Value Next j End With Catch ex As Exception MsgBox("Export Excel Error " & ex.Message) Finally System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.Default xlApp = Nothing End Try
For I = 0 To rowsTotal - 1 ' By including the -1 here you are actually skipping the last row For j = 0 To colsTotal - 1 ' By including the -1 here you are actually skipping the last column .Cells(I + 5, j + 1).value = DataGridView1.Rows(I).Cells(j).Value Next j Next I
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)