vb.net datagridview控件导出excel
导出数据的时候,经常需要将软件中的表格导出为excel,学习vb的时候用到了这个功能,当时用的是面向过程的编程方法,哪里需要了,就在哪个窗体写一遍代码。这次,我们使用面向对象的思维再次实现这个功能。对比一下,两个方法有什么区别。
这里使用vb.net作为载体,和面向过程一样,第一步还是要添加引用。为了增加复用性,需要把这个功能做成一个模块,因为是导出数据,所以,把它放到U层,需要在U层添加引用。如图:
将图中画红框的选中就可以了。
然后在U层添加模块,模块代码如下:
Imports Microsoft.Office.Interop.Excel
'引用excel表格内容
''' <summary>
''' 此模块用于将datagridview内容导出为excel
''' </summary>
''' <remarks>dgv作为datagridview控件缩写,当做一个参数</remarks>
Module ExportExcelPublic Function ExportExcel(ByVal dgv As DataGridView) As Boolean
'实例化一个excel,创建一个工作簿,工作簿可见Dim myExcel As New Microsoft.Office.Interop.Excel.ApplicationmyExcel.Application.Workbooks.Add(True)myExcel.Visible = True'导出表头Dim i, j, k As Integer
<span style="white-space:pre"> </span>'利用循环,填写表头For k = 0 To dgv.ColumnCount - 1myExcel.Cells(1, k + 1) = dgv.Columns(k).HeaderTextNext'利用循环嵌套,将datagridview内容放到导出为excel表格'这里有两个循环i表示行循环,j为列循环,excel先从行开始循环,excel需要从列开始循环For i = 0 To dgv.Rows.Count - 1For j = 0 To dgv.ColumnCount - 1myExcel.Cells(i + 2, j + 1) = dgv(j, i).Value.ToStringNextNextReturn TrueEnd Function
End Module
这里唯一需要注意的地方是嵌套循环,i循环作为行循环,j循环作为列循环,excel导入数据是从行开始循环的,但是datagridview导出数据却是先从列开始循环的。刚开始不明白,把行和列写错了,运行的时候一直报错。
模块写完之后,只要用到这个功能,只需要调用这个模块即可。
从功能来说,面向过程和面向对象实现的过程是一样的,第一步,添加引用;第二步,创建excel工作簿;第三步,通过循环,将datagridview数据导出excel。从复用性来说,都可以把代码做成模块然后进行调用。通过这些对比,发现,导出excel在面向过程中和面向对象中是没有区别的。
目前正在逐步摸索面向对象的奥妙,如有错误,敬请指正。
vb.net datagridview控件导出excel相关推荐
- C# 使用微软自带控件导出excel
导出excel:使用微软默认的dll,通过点击导出按钮启用js的open方法新建出一个ashx页面将文件导出到浏览器进行下载,此处放出部分代码以大概表示出顺序,完整代码见https://www.cnb ...
- 数据绑定控件导出到excel
aspx页面代码 <div><asp:GridView ID="GridView1" runat="server"></asp:G ...
- VB.NET中DataGridView控件
VB.NET中对于表格数据的显示经常使用到DataGridView控件,其以丰富多样的数据表呈现形式被程序猿喜爱. 本人在做一个小系统中运用DataGridView控件的部分属性,这些功能的使用在使用 ...
- .Net C# 如何读取Excel数据内容写入数据库并通过DataGridView控件动态刷新显示
目录 介绍 选择Excel文件并读取内容 将数据内容写到数据库 更新dataGridView内容 介绍 本篇文章主要介绍C# winForm窗体如何打开Excel文件读取其中的内容,并将其内容写到数据 ...
- vb.net 教程 3-10 窗体编程 datagridview控件 1 初步
版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的. datagridview控件常用于显示数据,所以在vs编辑器中是在工具箱"数据&quo ...
- vb.net 教程 3-10 窗体编程 datagridview控件 3 禁止追加行 与 禁止删除行
版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的. 如<vb.net 教程 3-10 窗体编程 datagridview控件 1 初步 > ...
- (一)C#Winform导入Excel数据到datagridview控件
C#Winform导入Excel数据到datagridview控件 #此次导入Excel数据借助了ExcelDataReader插件.(由于我需要的是打开工作簿时能够选择工作表绑定于datagridv ...
- winform datagridview控件使用
最近做项目时,显示查询结果总需要绑定到datagridview控件上显示,总结了给datagridview绑定数据的方式,以及导出datagridview数据到excel表格,如有错误请多指教 1.直 ...
- C#中DataGridView控件使用大全
c datagridview 分类: C/C++/C# DataGridView 动态添加新行: DataGridView控件在实际应用中非常实用,特别需要表格显示数据时.可以静态绑定数据源,这样就自 ...
最新文章
- 弹出窗口以及关闭窗口
- 跨平台打造移动原生应用的10大武器
- FD.io/VPP — 流量追踪
- 双机热备软件,Legato AAM,双机容错,集群软件,磁盘阵列
- 「高并发秒杀」mysql只修改字段名称
- vb表格控件_(超级干货)ExcelVBA拆分表格并分别发送邮件增强版
- 二叉树路径应用举例(基于非递归后序遍历)
- HDU - 2457 DNA repair(AC自动机+dp)
- 《MySQL——order by逻辑(全字段排序与rowid排序)》
- 阿里P7大牛手把手教你!一眼就能看懂的Android自学手册,真香!
- linux有个进程有问题_第五十五章、linux下进程的基本知识
- 微信支付需要证书认证时报“出现了内部错误”
- Js对接口数据归类整理
- 实战BootStrap:利用BootStrap制作全平台响应式站点
- 库克:苹果正在开发“会震爆你”的未来产品
- LCM模组的简介与质量管理(连载四)
- 【libuv】实现UDP转发
- vultarget-a红日靶场全面解析(完整版)
- devops学习(三) K8环境部署jenkins
- cherry MX-BOARD 3.0 拆解
热门文章
- 卡思满意度调查,奇瑞新能源位居第一
- 1分钟链圈 | 闪电网络通道数增加29.5%,突破1.1万条通道!EOS 在过去七天区块链活跃度中排名第一...
- Node.js(一):基础知识
- leetcode刷题优质题解(C++,Python,Go语言)
- 转载:3516A/D千兆网络变百兆方法
- 空气质量检测仪制作及相关学习小结(一)
- 创意界面设计_每个创意者都应该知道的设计基础
- Android中关于aar打包和集成
- Cursor一个使用chatgpt-4的ai辅助编程工具
- uView 扩展图标(使用阿里iconfont图标)