VB.NET版机房收费系统---导出Excel表格

简介:        datagridview,翻译成中文的意思是数据表格显示,使用DataGridView控件,可以显示和编辑来自不同类型的数据源的表格,将数据绑定到DataGridView控件非常简单和直观,大多数情况下,只需要设置DataSource属性即可,在绑定到包含多个列表或表的数据库源时,只需将DataMember属性设置为绑定的列表或表的字符串即可。

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

        打开VB-工程-应用-勾选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版机房收费系统,未完,待续......

目录
相关文章
|
18天前
|
数据挖掘 Python
【Python】已解决:Python pandas读取Excel表格某些数值字段结果为NaN问题
【Python】已解决:Python pandas读取Excel表格某些数值字段结果为NaN问题
28 0
|
2天前
|
数据可视化 数据管理 定位技术
如何将QGIS中的属性表与Excel表格关联?
作为UE开发人员,经常会使用到QGIS进行数据管理编辑。QGIS与Excel之间数据并不完全兼容,而UE开发过程中大部分的前期数据都储存在Eecel里。为了将Excel数据写入QGIS属性表实现数据可视化,我们内部总结了一个最快捷的方法
|
9天前
|
Java 数据安全/隐私保护
Java无模版导出Excel 0基础教程
经常写数据导出到EXCEL,没有模板的情况下使用POI技术。以此作为记录,以后方便使用。 2 工具类 样式工具: 处理工具Java接口 水印工具 导出Excel工具类 3 测试代码 与实际复杂业务不同 在此我们只做模拟 Controller Service 4 导出测试 使用Postman进行接口测试,没接触过Postman的小伙伴可以看我这篇博客Postman导出excel文件保存为文件可以看到导出很成功,包括水印 sheet页名称自适应宽度。还有一些高亮……等功能可以直接搜索使用
Java无模版导出Excel 0基础教程
|
14天前
|
数据格式 Python
Python代码示例,读取excel表格,将行数据转为列数据。(10)
【7月更文挑战第10天】Python代码示例,读取excel表格,将行数据转为列数据。
33 2
|
14天前
|
存储 对象存储 Python
`openpyxl`是一个用于读写Excel 2010 xlsx/xlsm/xltx/xltm文件的Python库。它不需要Microsoft Excel,也不需要.NET或COM组件。
`openpyxl`是一个用于读写Excel 2010 xlsx/xlsm/xltx/xltm文件的Python库。它不需要Microsoft Excel,也不需要.NET或COM组件。
|
9天前
|
前端开发
使用Postman导出excel
在本文档中,作者分享了如何使用Postman测试导出Excel接口的两种方法。配以四张图片说明了设置步骤,包括选择接口请求方式、设置Header(Content-Type: multipart/form-data)、Body中选取form-data类型以及指定文件。尽管代码指定了文件名,但在Postman的响应中不会显示,提示需要前端进一步处理。
|
18天前
|
Python
【Python】已解决:(Python写入Excel表格报错)‘NoneType’ object has no attribute ‘write’
【Python】已解决:(Python写入Excel表格报错)‘NoneType’ object has no attribute ‘write’
17 0
|
25天前
|
JSON JavaScript 数据格式
vue 电子表格Excel的上传导入、导出下载、读取本地Excel、json转Excel
vue 电子表格Excel的上传导入、导出下载、读取本地Excel、json转Excel
37 0
|
1月前
|
数据安全/隐私保护
杨老师课堂之Excel VBA 程序开发第七讲表格数据高亮显示
杨老师课堂之Excel VBA 程序开发第七讲表格数据高亮显示
25 1
|
2月前
|
前端开发 Java
基于Java爬取微博数据(二) 正文长文本+导出数据Excel
【5月更文挑战第12天】基于Java爬取微博数据,正文长文本+导出数据Excel