专栏首页VB小源码VB.NET DATAGRIDVIEW数据导出Excel

VB.NET DATAGRIDVIEW数据导出Excel

sub datagridviewtoExcel()

Dim xlapp As New Excel.Application()

xlapp.Visible = True

Dim rowc As Integer = prt_dgv.Rows.Count

Dim colc As Integer = prt_dgv.Columns.Count

Dim dCC As Integer = 1

Dim row As Integer = 0

xlapp.Application.Workbooks.Add(True)

xlapp.Caption = pdt_coding.Text & " - " & Now

Dim xlbook As Excel.Workbook

Dim xlsheet As Excel.Worksheet

xlbook = xlapp.ActiveWorkbook

xlsheet = xlbook.ActiveSheet

xlsheet.Name = pdt_coding.Text '设置工作表名称

If colc < 1 Then

MessageBox.Show("没有数据可供导出 ", "提示 ", MessageBoxButtons.OK, MessageBoxIcon.Information)

Return

End If

If rowc < 1 Then

MessageBox.Show("没有数据可供导出 ", "提示 ", MessageBoxButtons.OK, MessageBoxIcon.Information)

Return

End If

Dim i As Integer = 0

While i <= prt_dgv.ColumnCount - 1

If prt_dgv.Columns(i).Visible = True _

AndAlso prt_dgv.Columns(i).HeaderText.Trim() <> "删除" _

AndAlso prt_dgv.Columns(i).HeaderText.Trim() <> "" Then

xlapp.Cells(1, dCC) = prt_dgv.Columns(i).HeaderText.Trim()

dCC = dCC + 1

End If

i = i + 1

End While

While row <= prt_dgv.RowCount - 1

dCC = 1

Dim col As Integer = 0

While col < colc

If prt_dgv.Columns(col).Visible = True _

AndAlso prt_dgv.Columns(col).HeaderText <> "删除" _

AndAlso prt_dgv.Columns(col).HeaderText.Trim() <> "" Then

Try

Dim Val As String = prt_dgv.Rows(row).Cells(col).Value.ToString().Trim()

If Val.Length > 8 Then

Val = "'" + Val

End If

xlapp.Cells(row + 2, dCC) = Val

dCC = dCC + 1

Catch generatedExceptionName As Exception

End Try

End If

col = col + 1

End While

row = row + 1

End While

'xl表格样式

xlsheet.Cells.Borders.Color = Color.White

With xlsheet.UsedRange

.Borders.Color = Color.Black

.Font.Name = "微软雅黑"

.Font.Size = 11

.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter

.VerticalAlignment = Excel.XlHAlign.xlHAlignCenter

End With

With xlsheet.Range("a1:ah1")

.Interior.Color = Color.DarkGray

.Font.Size = 13

.Font.Name = "微软雅黑"

End With

xlsheet.Cells.EntireColumn.AutoFit()

xlsheet.Select()

'---------------------------------------------------

msgbox "部件导出--成功!!"

xlsheet = Nothing

xlbook = Nothing

xlapp = Nothing

End Sub

本文分享自微信公众号 - VB小源码(vb_xym),作者:巴西_prince

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-10-26

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • VB.NET Excel操作类(获取工作簿列表和工作表列表及工作表对象)

    巴西_prince
  • VB.NET 用HtmlAgilityPack解析百度文库,获取百度文库中的内容(以富甲美国为例)

    1.首先在浏览器安装 "save as we "插件(用于把网页保存成HTML文件)

    巴西_prince
  • VB.NET 直接读取打开的Excel数据到DataGridView

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.Even...

    巴西_prince
  • VB.NET语法小结

    跟着阿笨一起玩NET
  • VB.NET自我总结语法

    跟着阿笨一起玩NET
  • Excel实战技巧43: 将多个PDF文件中指定页面合并成一个PDF文件

    在《Python实战01:合并多个PDF文件》和《Python实战02:分别合并多个相似文件名的PDF文件》中,我们使用Python代码对PDF文件进行操作来合...

    fanjy
  • Flutter RefreshIndicator 下拉刷新组件 Material 风格的刷新效果

    —— 优美的应用体验 来自于细节的处理,更源自于码农的自我要求与努力,当然也需要码农年轻灵活的思维。

    早起的年轻人
  • 重拾CSS规范之z-index

    z-index 会为当前的盒创建层叠上下文,也会指定该盒在父级层叠上下文中的层叠等级。

    江米小枣
  • CSS 中重要的层叠概念

    最近在项目的过程中遇到了一个问题,menu-bar 希望始终显示在最上面,而在之后的元素都显示在它之下,当时设置了 z-index 也没有效果,不知道什么原因,...

    周俊辉
  • CSS 中重要的层叠概念

    最近在项目的过程中遇到了一个问题,menu-bar希望始终显示在最上面,而在之后的元素都显示在它之下,当时设置了 z-index 也没有效果,不知道什么原因,因...

    前端下午茶

扫码关注云+社区

领取腾讯云代金券