您的位置:首页 > 编程语言 > VB

VB.net-VS2010导出datagridview数据到EXCEL,以时间为文件名

2017-10-31 08:48 483 查看
以下VB代码实现从datagridview导出数据到EXCEL,并以时间作为excel的文件名

需要用到的dll

Microsoft.Office.Interop.Excel.dll

引入命名空间

Imports Microsoft.Office.Interop

Try

Dim xlApp, xlBook, xlSheet As Object
xlApp = CreateObject("Excel.Application")
xlBook = xlApp.Workbooks.Add
xlSheet = xlBook.Worksheets()
'使工作表不可见
xlApp.Visible = False

'导出DataGridView中的标题
Dim Cols As Integer
For Cols = 1 To testHistoryDgv.Columns.Count
xlApp.Cells(1, Cols) = testHistoryDgv.Columns(Cols - 1).HeaderText
Next

'逐行导出DataGridView中的数据
Dim i As Integer

For i = 0 To testHistoryDgv.RowCount - 1
Dim j As Integer
For j = 0 To testHistoryDgv.ColumnCount - 1
'判断DataGridview中的数据是否导出完毕
If Me.testHistoryDgv(j, i).Value Is System.DBNull.Value Then
xlApp.Cells(i = 2, j = 1) = ""
Else
xlApp.Cells(i + 2, j + 1) = testHistoryDgv(j, i).Value.ToString
End If
Next
Next
'定义文件名-取系统时间作为excel文件名
Dim fileName As String = Format(Now, "yyyyMMdd") + Format(Now, "HH:mm:ss").Replace(":", "")
’excelPath是文件路径,通过配置文件配置
Dim flg As Boolean = xlBook.SaveAs(excelPath & fileName & ".xlsx")
If flg = True Then
MessageBox.Show("操作成功", "XXXX", MessageBoxButtons.OK, MessageBoxIcon.Asterisk)
End If
'关闭Excel线程
xlApp.Quit()
xlApp = Nothing
xlBook = Nothing
xlSheet = Nothing
Catch ex As Exception
'异常捕捉
LogUtil.err(ex.ToString)
MessageBox.Show("系统异常", "Message", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try


以上方式会直接导出Excel文件到指定URL,不会自动打开excel文件。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: