Private Sub btnPrint_Click(sender As Object, e As EventArgs) Handles btnPrint.Click
Dim PrinterName As String
Dim PD As New PrintDialog
PrinterName = PD.PrinterSettings.PrinterName
If DialogResult.OK = PD.ShowDialog() Then
'btnPrint.visible = False
'设置printDialog控件的Document属性,设置操作文档
'PrintDialog.Document = PrintDocument
'启用"打印到文件"复选框
'-------------------------------------------
Dim myExcel As New Excel.Application()
myExcel.Application.Workbooks.Add(True)
myExcel.Visible = True
Dim n As Integer
For n = 0 To dgvView.ColumnCount - 1
myExcel.Cells(1, n + 1) = Me.dgvView.Columns(n).HeaderText
Next n
'在Excel表里显示数据
'---------
myExcel.Cells.HorizontalAlignment = 2 '定义单元格文本对齐方式
myExcel.Cells.Font.Size = 12 '定义文本字体大小
myExcel.Range("A1", "P1").Font.Bold = True '字体加粗
myExcel.Range("A1", "P1").Font.ColorIndex = 32 '字体颜色蓝色
'单元格列宽
myExcel.Columns("A:A").ColumnWidth = 4
myExcel.Columns("B:B").ColumnWidth = 6
myExcel.Columns("C:C").ColumnWidth = 8
myExcel.Columns("D:D").ColumnWidth = 16
myExcel.Columns("E:E").ColumnWidth = 6
myExcel.Columns("F:F").ColumnWidth = 4
myExcel.Columns("H:H").ColumnWidth = 4
myExcel.Columns("I:I").ColumnWidth = 11
myExcel.Columns("J:J").ColumnWidth = 9
myExcel.Columns("K:K").ColumnWidth = 14
'---------
Dim i As Integer
For i = 0 To dgvView.RowCount - 1
Dim j As Integer
For j = 0 To dgvView.ColumnCount - 1
If Me.dgvView(j, i).Value Is System.DBNull.Value Then
myExcel.Cells(i + 2, j + 1) = ""
Else
myExcel.Cells(i + 2, j + 1) = dgvView(j, i).Value
End If
Next j
Next i
ElseIf DialogResult.No Then
PD.Dispose()
End If
End Sub
Dim PrinterName As String
Dim PD As New PrintDialog
PrinterName = PD.PrinterSettings.PrinterName
If DialogResult.OK = PD.ShowDialog() Then
'btnPrint.visible = False
'设置printDialog控件的Document属性,设置操作文档
'PrintDialog.Document = PrintDocument
'启用"打印到文件"复选框
'-------------------------------------------
Dim myExcel As New Excel.Application()
myExcel.Application.Workbooks.Add(True)
myExcel.Visible = True
Dim n As Integer
For n = 0 To dgvView.ColumnCount - 1
myExcel.Cells(1, n + 1) = Me.dgvView.Columns(n).HeaderText
Next n
'在Excel表里显示数据
'---------
myExcel.Cells.HorizontalAlignment = 2 '定义单元格文本对齐方式
myExcel.Cells.Font.Size = 12 '定义文本字体大小
myExcel.Range("A1", "P1").Font.Bold = True '字体加粗
myExcel.Range("A1", "P1").Font.ColorIndex = 32 '字体颜色蓝色
'单元格列宽
myExcel.Columns("A:A").ColumnWidth = 4
myExcel.Columns("B:B").ColumnWidth = 6
myExcel.Columns("C:C").ColumnWidth = 8
myExcel.Columns("D:D").ColumnWidth = 16
myExcel.Columns("E:E").ColumnWidth = 6
myExcel.Columns("F:F").ColumnWidth = 4
myExcel.Columns("H:H").ColumnWidth = 4
myExcel.Columns("I:I").ColumnWidth = 11
myExcel.Columns("J:J").ColumnWidth = 9
myExcel.Columns("K:K").ColumnWidth = 14
'---------
Dim i As Integer
For i = 0 To dgvView.RowCount - 1
Dim j As Integer
For j = 0 To dgvView.ColumnCount - 1
If Me.dgvView(j, i).Value Is System.DBNull.Value Then
myExcel.Cells(i + 2, j + 1) = ""
Else
myExcel.Cells(i + 2, j + 1) = dgvView(j, i).Value
End If
Next j
Next i
ElseIf DialogResult.No Then
PD.Dispose()
End If
End Sub