在敲机房收费系统的时候,显示数据的时候需要将DateGridew 中的数据导出进Excel表。DateGridew导出Excel表是比较常见的,当然导出Excel表有很多种方法,下面是个人认为比较容易理解的一种方法:

  1.添加引用:项目—>添加引用—>Microsoft .Office.Interop.Excel 

常见错误:Application”在命名空间“Microsoft.Office.Interop.Excel”中不明确。

注意:这是由于不同版本之间发生了冲突引起的。例如,我在引用Microsoft Excel15.0 Object Libirary 之后又引用Microsoft.office.Interop.Excel 就会出现上面的错误。

2.编写代码:

    Private Sub butnExport_Click(sender As Object, e As EventArgs) Handles butnExport.Click
'用到Application,需要不跟其他的Excel表格冲突
Dim MyExcel As New Microsoft.Office.Interop.Excel.Application
'添加工作簿
MyExcel.Application.Workbooks.Add(True)
'表格可见
MyExcel.Visible = True
'添加控件的列数到表格当中
Dim cols As Integer
For cols = 0 To DataGridView.ColumnCount - 1
MyExcel.Cells(1, cols + 1) = Me.DataGridView.Columns(cols).HeaderText '添加列标题
Next cols '设置行和列
Dim i As Integer
Try
For i = 0 To DataGridView.RowCount - 1 '行的变化范围
Dim j As Integer
For j = 0 To DataGridView.ColumnCount - 1 '列的变化范围
'DateGridew的数据导出到Excel中
If Me.DataGridView(j, i).Value Is System.DBNull.Value Then
'无数据为空表
MyExcel.Cells(i + 2, j + 1) = ""
Else
'将DateGridew的数据添加到Excel表中
MyExcel.Cells(i + 2, j + 1) = DataGridView(j, i).Value.ToString
End If
Next j
Next i
MsgBox("数据导出成功!") '提示 Catch ex As Exception
MsgBox(ex.Message, "导出数据") '弹出捕获的消息
Exit Sub End Try End Sub

常见错误:“未将对象引用设置到对象的实例”

注意:在DateGridew中有一个属性AllowUserToAddRows,要设置成False,否则会出现上面的错误,当然如果设置成True,则将For i = 0 To DataGridView.RowCount - 1改成 For i = 0 To DataGridView.RowCount - 2即可!

DateGridew导出Excel表+常见错误提示的更多相关文章

  1. thinkphp导入导出excel表单数据

    在PHP项目经常要导入导出Excel表单. 先去下载PHPExcel类库文件,放到相应位置. 我在thinkphp框架中的位置为ThinkPHP/Library/Org/Util/ 导入 在页面上传e ...

  2. 导出excel失败,提醒提示加载类型库/DDL出错

    导出excel失败,提醒提示加载类型库/DDL出错 www.MyException.Cn   发布于:2012-08-17 02:08:34   浏览:1538次   导出excel失败,提示提示加载 ...

  3. 【ITOO 1】将List数据导出Excel表

    需求描述:在课表导入的时候,首先给用户提供模板(excel),然后将用户填写好的数据读取到list集合中.再进行判空处赋值处理,以及去重处理.这篇博客,主要介绍读取excel表和导出excel表的方法 ...

  4. 杂项-Tmod:常见错误提示

    ylbtech-杂项-Tmod:常见错误提示 1.返回顶部 1. The column 'Content' was specified multiple times for 'T'.select a. ...

  5. jsp编写页面时常见错误提示

    jsp编写页面时常见错误提示 404-->未部署web应用 500-->代码有问题 无法显示网页-->未启动tomcat webRoot-->URL输入有误 web-inf-- ...

  6. ASP.NET导出excel表方法汇总

    asp.net里导出excel表方法汇总  1.由dataset生成 public void CreateExcel(DataSet ds,string typeid,string FileName) ...

  7. 传参导出Excel表乱码问题解决方法

    业务场景 先描述一下业务场景,要实现的功能是通过搜索框填写参数,然后点击按钮搜索数据,将搜索框的查询参数获取,附加在链接后面,调导Excel表接口,然后实现导出Excel功能.其实做导Excel表功能 ...

  8. 前端导出excel表

    前端导出excel表 方式一: 前端js实现 : https://www.cnblogs.com/zhangym118/p/6235801.html 方式二: java后端实现: https://bl ...

  9. C# asp.net中导出Excel表时总出现"只能在执行 Render() 的过程中调用 RegisterForEventValidation

    C# asp.net中导出Excel表时总出现"只能在执行 Render() 的过程中调用 RegisterForEventValidation 后台添加以下方法:/// <summa ...

随机推荐

  1. SGU 175.Encoding

    Solution: 简单题. 答案初始化为1. 从给定的n,q往下推出新的n和q,如果q是在右半边,答案加上 n-n/2. 一直到推到n==1. code: #include <iostream ...

  2. 【HDU4366】【DFS序+分块】Successor

    Problem Description Sean owns a company and he is the BOSS.The other Staff has one Superior.every st ...

  3. newInstance()和new的区别

    在初始化一个类,生成一个实例的时候:newInstance() 和 new 有什么区别?用newInstance与用new是有区别的,区别在于创建对象的方式不一样,前者是使用类加载机制,那么为什么会有 ...

  4. win7下.NET 2.0未在web服务器上注册的问题(转)

    转自:http://blog.sina.com.cn/s/blog_6d15b547010192hx.html 电脑装了win7操作系统,装上vs2008后运行dotnetnuke项目后出现" ...

  5. delegate 中的BeginInvoke和EndInvoke方法

    开发语言:C#3.0 IDE:Visual Studio 2008 一.C#线程概述 在操作系统中一个进程至少要包含一个线程,然后,在某些时候需要在同一个进程中同时执行多项任务,或是为了提供程序的性能 ...

  6. php基础知识【函数】(4)时间date

    一.time() -- 返回当前的 Unix 时间戳 $nextWeek = time() + (7 * 24 * 60 * 60); echo 'Next Week: '. date('Y-m-d' ...

  7. dictionary(字典)

    dictionary(字典):   字典对象   字典是一种key - value 的数据类型,使用就像我们上学用的字典,通过笔划.字母来查对应页的详细内容. 1.      dic={"n ...

  8. 张江在线APP演示

    app下载地址:https://itunes.apple.com/cn/app/zhang-jiang-zai-xian/id722630317?mt=8

  9. iptables的设置

    一.filter表防火墙(过滤器) iptables -A ( INPUT OUTPUT ) -s 192.1680.1.200 -p ( TCP UDP ICMP ) -i ( eth0 eth1 ...

  10. arp欺骗

    arp欺骗原理 某机器A要向主机B发送报文,会查询本地的ARP缓存表,找到B的IP地址对应的MAC地址后,就会进行数据传输.如果未找到,则广播A一个ARP请求报文(携带主机A的IP地址Ia——物理地址 ...