VB.NET机房收费系统导出Excel

       VB机房收费系统时我们也用到导出Excel,都是从相同的容器中导出,形式和内容上两者大致相同。

一、VB版导出Excel

        Dim i As Integer
        Dim j As Integer
        Dim xlApp As Excel.Application
        Dim xlBook As Excel.Workbook
        Dim xlSheet As Excel.Worksheet
        
        Set xlApp = CreateObject("Excel.Application")
        
        
        Set xlBook = xlApp.Workbooks.Add
        Set xlSheet = xlBook.Worksheets(1)
        
        For i = 0 To Flex.Rows - 1
            For j = 0 To Flex.Cols - 1
                Flex.Row = i
                Flex.col = j
                xlSheet.Cells(i + 1, j + 1) = Trim(Flex.Text)
            Next
        Next
        
        xlApp.Visible = True
    End Sub

二、VB.NET版导出Excel

1、datagridview中导出Excel

第一步:添加引用

项目-->添加引用--> .NET-->Microsoft.Office.Interop.Excel

第二步:编写代码

   <span style="font-size:18px;">     '添加工作簿
        Dim MyExcel As New Microsoft.Office.Interop.Excel.Application()
        '添加表
        MyExcel.Application.Workbooks.Add()
        '打开表
        MyExcel.Visible = True

        '获取datagridview的标题行赋给Excel,Excel标题行第一列标识为1,datagridview则为0,所以为Cols-1
        Dim Cols As Integer
        For Cols = 1 To dgvLineRecord.Columns.Count
            MyExcel.Cells(1, Cols) = dgvLineRecord.Columns(Cols - 1).HeaderText
        Next

        '往excel表里添加数据()
        Dim i As Integer
        'datagridview的行与列计算时均为0至*.* - 1
        For i = 0 To dgvLineRecord.RowCount - 1
            Dim j As Integer
            For j = 0 To dgvLineRecord.ColumnCount - 1
                If Me.dgvLineRecord(j, i).Value Is System.DBNull.Value Then
                    'Excel的第一行是标题,所以应从第二行开始,即:i+2 注意DataGridView的坐标是先列后行
                    MyExcel.Cells(i + 2, j + 1) = ""
                Else
                    MyExcel.Cells(i + 2, j + 1) = dgvLineRecord(j, i).Value.ToString

                End If
            Next j
        Next i</span>

注:DBNull 类表示一个不存在的值。例如,在数据库的表中,某一行的某列中可能不包含任何数据。即,该列被视为根本不存在,而不只是没有值。一个表示不存在的列的 DBNull 对象。

2、直接从datatable中导出Excel

博客借鉴:

          亚红师姐:http://blog.csdn.net/jyhye/article/details/7244334

注:(1)datagridview与datatable在形式上较为相近,行与列均是从0开始计算

       (2)datagridview坐标是先列后行


  • 6
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 40
    评论
评论 40
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值