DataGridview导出到Excel的公共函数
2018-01-19 09:21
381 查看
Public Function OutPutExcel(ByVal x As DataGridView) As Boolean '导出到Excel函数
Try
If x.Rows.Count <= 0 Then '判断记录数,如果没有记录就退出
MessageBox.Show("没有记录可以导出", "没有可以导出的项目", MessageBoxButtons.OK, MessageBoxIcon.Information)
Return False
Else '如果有记录就导出到Excel
Dim xx, yy As Object
xx = CreateObject("Excel.Application") '创建Excel对象
yy = xx.workbooks.add()
xx.Columns("A:BB").NumberFormatLocal = "@" 'A—BB列设置为文本
Dim i As Integer, u As Integer = 0, v As Integer = 0 '定义循环变量,行列变量
For i = 1 To x.Columns.Count '把表头写入Excel
yy.worksheets(1).cells(1, i) = x.Columns(i - 1).HeaderCell.Value
Next
Dim str(x.Rows.Count - 1, x.Columns.Count - 1) As Object '定义一个二维数组
For u = 1 To x.Rows.Count '行循环
For v = 1 To x.Columns.Count '列循环
If x.Item(v - 1, u - 1).Value.GetType.ToString <> "System.Guid" Then
str(u - 1, v - 1) = x.Item(v - 1, u - 1).Value
Else
str(u - 1, v - 1) = x.Item(v - 1, u - 1).Value.ToString
End If
Next
Next
yy.worksheets(1).range("A2").Resize(x.Rows.Count, x.Columns.Count).Value = str '把数组一起写入Excel
yy.worksheets(1).Cells.EntireColumn.AutoFit() '自动调整Excel列
' yy.worksheets(1).name = x.TopLeftHeaderCell.Value.ToString '表标题写入作为Excel工作表名称
xx.visible = True '设置Excel可见
yy = Nothing '销毁组建释放资源
xx = Nothing '销毁组建释放资源
End If
Return True
Catch ex As Exception '错误处理
MessageBox.Show(Err.Description.ToString, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error) '出错提示
Return False
End Try
End Function
'调用方法
Private Sub CM7导出到EXCEL_Click(sender As Object, e As EventArgs) Handles CM7导出到EXCEL.Click
Try
OutPutExcel(DataGridView1)
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Try
If x.Rows.Count <= 0 Then '判断记录数,如果没有记录就退出
MessageBox.Show("没有记录可以导出", "没有可以导出的项目", MessageBoxButtons.OK, MessageBoxIcon.Information)
Return False
Else '如果有记录就导出到Excel
Dim xx, yy As Object
xx = CreateObject("Excel.Application") '创建Excel对象
yy = xx.workbooks.add()
xx.Columns("A:BB").NumberFormatLocal = "@" 'A—BB列设置为文本
Dim i As Integer, u As Integer = 0, v As Integer = 0 '定义循环变量,行列变量
For i = 1 To x.Columns.Count '把表头写入Excel
yy.worksheets(1).cells(1, i) = x.Columns(i - 1).HeaderCell.Value
Next
Dim str(x.Rows.Count - 1, x.Columns.Count - 1) As Object '定义一个二维数组
For u = 1 To x.Rows.Count '行循环
For v = 1 To x.Columns.Count '列循环
If x.Item(v - 1, u - 1).Value.GetType.ToString <> "System.Guid" Then
str(u - 1, v - 1) = x.Item(v - 1, u - 1).Value
Else
str(u - 1, v - 1) = x.Item(v - 1, u - 1).Value.ToString
End If
Next
Next
yy.worksheets(1).range("A2").Resize(x.Rows.Count, x.Columns.Count).Value = str '把数组一起写入Excel
yy.worksheets(1).Cells.EntireColumn.AutoFit() '自动调整Excel列
' yy.worksheets(1).name = x.TopLeftHeaderCell.Value.ToString '表标题写入作为Excel工作表名称
xx.visible = True '设置Excel可见
yy = Nothing '销毁组建释放资源
xx = Nothing '销毁组建释放资源
End If
Return True
Catch ex As Exception '错误处理
MessageBox.Show(Err.Description.ToString, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error) '出错提示
Return False
End Try
End Function
'调用方法
Private Sub CM7导出到EXCEL_Click(sender As Object, e As EventArgs) Handles CM7导出到EXCEL.Click
Try
OutPutExcel(DataGridView1)
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
相关文章推荐
- 将DataGridView导出为Excel的函数
- datagridview导出excel报表函数
- 分享一个DoNet 下 datagridview导出到excel的函数
- datagridview导出excel
- 如何将datagridview中的数据导出到Excel中?
- 通过Javascript将数据导出到外部Excel文档的函数代码
- C# 将DataGridView控件内容导出到Excel报表
- DataGridView直接导出EXCEL
- datagridview数据导出到Excel(数据量小的情况)
- DataGridView导出Excel
- 将DatagridView中的数据完美导出到Excel
- DataGridView直接导出EXCEL
- 把DatagridView中的数据导出到Excel中
- c# datagridview导出到excel【转载】
- DataGridView导出到Excel
- C#导出datagridview 到excel
- datagridview数据导出到excel
- asp.net DataGridView导出到Excel的三个方法
- c# winform DataGridView导出数据到Excel中,可以导出当前页和全部数据
- c# datagridview导出到excel