datagridview,翻译成中文的意思是数据表格显示,使用DataGridView控件,能够显示和编辑来自不同类型的数据源的表格,将数据绑定到DataGridView控件很easy和直观,大多数情况下,仅仅须要设置DataSource属性就可以,在绑定到包括多个列表或表的数据库源时,仅仅需将DataMember属性设置为绑定的列表或表的字符串就可以。机房收费系统多次用到数据表格的显示,而且导出为Excel表格,第一次机房收费系统是用VB版本号的,她导出Excel的方法例如以下:

打开VB-project-应用-勾选Microsoft  Excel 14.0 Objexts 2.6 Library

代码例如以下:

<span style="font-size:18px;">Private Sub CmdExport_Click()
Dim j As Integer
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Set xlApp = CreateObject("Excel.Application") '实例化对象xlApp
xlApp.Visible = True
Set xlBook = xlApp.Workbooks.Add
Set xlSheet = xlBook.Worksheets(1)
For i = 0 To myflexgrid.Rows - 1
For j = 0 To myflexgrid.Cols - 1
myflexgrid.Row = i
myflexgrid.Col = j
xlSheet.Cells(i + 1, j + 1) = Trim(myflexgrid.Text)
Next
Next
End Sub </span>

第二版机房收费系统VB.NET版本号,她又怎么样导出Exce表格nie,跟VB版的导出Excel表格的方法有哪些异曲同工之妙,又有着VB不具备的妙处呢?以下一一介绍:

首先,我们须要引用

另一个细节问题,我们须要把AllowUserToAddRow这个属性改为False,后面具体解释True和False的差别:

编程代码例如以下:

<span style="font-size:18px;">Public Function dirivExcel(ByVal dgv As DataGridView) As Boolean
Dim myExcel As New Microsoft.Office.Interop.Excel.Application '建立Excel连接
myExcel.Application.Workbooks.Add(True)
myExcel.Visible = True
Dim i, j, k As Integer '定义变量 For k = 0 To dgv.ColumnCount - 1 '加入表头
myExcel.Cells(1, k + 1) = dgv.Columns(k).HeaderText Next k For i = 0 To dgv.RowCount - 1 '通过循环来加入控件中的数据到表格中
For j = 0 To dgv.ColumnCount - 1
'因为第一行是表头,所以加入数据时就从第二行開始加入
myExcel.Cells(i + 2, j + 1) = dgv(j, i).Value Next
Next
Return True '加入完成,返回true End Function</span>

如今我们来看一下执行结果:

AllowUserToAddRow这个属性改为True的时候出现例如以下错误:

由于单元格的value是空的,对一个控制进行.ToString()操作时,就会出现System.NullReferenceException异常。对此我将toString去掉,就不报错了,另外你能够对value先进行是否为空进行推断假设不为空,在进行Tostring()操作,上述是在改动代码的基础上来攻克了这个问题,另外对于控件本身也有一个属性控制,是否自己主动加入空白行。VB.NET版机房收费系统,未完,待续......

VB.NET版机房收费系统---导出Excel表格的更多相关文章

  1. VB.NET版机房收费系统---异常处理

    异常处理,英文名为Exceptional Handling, 那时年少,还记得那年一起学习过的VB6.0的时候,常常使用ONError的错误语句.与传统VB6.0中的OnError语句相比.NET平台 ...

  2. VB.net版机房收费系统——结账功能实现(调错与优化)

    调错部分 上一篇博客<VB.net版机房收费系统--结账功能实现(代码部分>说的是结账功能的实现,亮出了代码.是在为这篇博客做铺垫.尽管结账功能代码是借鉴的巨人的博客.可是自己比着葫芦画瓢 ...

  3. VB.NET版机房收费系统---报表

    报表,即报告情况的表格,简单的说:报表就是用表格.图表等格式来动态显示数据,可以用公式表示为:"报表 = 多样的格式 + 动态的数据". 在没有计算机以前,人们利用纸和笔来记录数据 ...

  4. VB.NET版机房收费系统---七仙女之系统登录

    VB.NET第一版机房收费系统,告一段落,验收的时候.问题也是大大的存在,没实用上设计模式,什么触发器.存储过程,都没实用上.看看其她小伙伴的,七层实现登录?那是什么东东,相比較我的三层而言,多了两倍 ...

  5. VB.NET版机房收费系统---外观层如何写

    外观设计模式,<大话设计模式>第103页详细讲解,不记得这块知识的小伙伴可以翻阅翻阅,看过设计模式,敲过书上的例子,只是学习的第一步,接着,如果在我们的项目中灵活应用,把设计模式用出花儿来 ...

  6. VB.NET版机房收费系统---组合查询

    查询的意思就是查找,寻找,指在某一个或几个地方找出自己所要的信息,假如我想搜索一下我自己写的博客,名字叫做初雪之恋,我在百度的搜索框中输入丁国华三个字,会有怎样的惊喜等着我? 啊哦,这个信息并不是我想 ...

  7. VB.NET版机房收费系统---外观层怎样写

    外观设计模式.<大话设计模式>第103页具体解说,不记得这块知识的小伙伴能够翻阅翻阅,看过设计模式,敲过书上的样例,仅仅是学习的第一步,接着,假设在我们的项目中灵活应用,把设计模式用出花儿 ...

  8. VB.NET版机房收费系统—数据库设计

    之前第一遍机房收费的时候,用的数据库是别人的.认知也仅仅能建立在别人的基础上,等自考中<数据库系统原理>这本书学完了之后,再去看曾经的数据库,发现数据库真的还须要进一步的优化.以下是我设计 ...

  9. VB.NET版机房收费系统—DataGridView应用

    事实上,先前刚刚開始敲机房的时候,刚用到DataGridView的时候,总显得力不从心,先要一下子就学会,看了非常多的资料,但是依照写的时候,自己有不知道从什么地方下手,于是,当自己用查询SQL语句, ...

随机推荐

  1. guava之Joiner 和 Splitter(转)

    最近在给客户准备一个Guava的分享,所以会陆续的更新关于Guava更多的细节分享.本文将记录Guava中得字符串处理Joiner(连接)和Splitter(分割)处理. Joiner 首先我们来看看 ...

  2. Javascript跨域请求的几种解决方法

    什么情况下才会出现跨域? 假设域名是:http://www.example.com.cn/ 如果所请求的域名跟这个域名不致,这种情况就是跨域,由于跨域存在漏洞,所以一般来说正常的跨域请求方式是请求不到 ...

  3. 性能测试之LoadRunner11 破解

    1. 下载破解文件lm70.dll和mlr5lprg.dll     lm70.dll文件,覆盖x:\Program Files\Mercury\LoadRunner\bin下文件即可.     ml ...

  4. MTU & MSS 详解记录(转)

              先学习理解一下帧的封装格式:   需要注意的是,区别两种帧封装格式:802标准帧和以太网帧 1,在802标准定义的帧格式中,长度字段是指它后续数据的字节长度,但不包括C R C检验 ...

  5. shell基础(转)

    shell基础1:文件安全与权限 http://bbs.chinaunix.net/forum/viewtopic.php?t=434579&highlight=wingger 附:Linux ...

  6. eval 捕获dbi错误

    [root@dr-mysql01 ~]# cat t2.pl use DBI; my $dbUser='zabbix'; my $user="root"; my $passwd=& ...

  7. Fedora 问题总结第二季

    该系列主要是记录自己使用fedora发现的问题. 1Linux Error: curses.h: No such file or directory Problem Solution sudo yum ...

  8. Linux经常使用命令(十一) - more

    more命令,功能类似 cat ,cat命令是整个文件的内容从上到下显示在屏幕上. more会以一页一页的显示方便使用者逐页阅读,而最主要的指令就是按空白键(space)就往下一页显示,按 b 键就会 ...

  9. BAPI总的数据库提交和回滚

    BAPI事物中的数据提交和回滚必须通过调用SAP标准业务对象BAPI SERVICE(对象类型SAP0001)的BAPI方法bapiservic.transactioncommit和bapiservi ...

  10. mojo 关闭utf8

    [root@wx03 ~]# cat test.pl use Mojolicious::Lite; use JSON qw/encode_json decode_json/; use Encode; ...