新客网WWW.XKER.COM:致力做中国最专业的网络学院!
学院: 操作系统 - 网络应用 - 服务器 - 网络安全 - 工具软件 - 办公软件 - Web开发 - 数据库 - 网页设计 - 图形图像 - 媒体动画 - 硬件学堂 - 存储频道 - QQ专区
您的位置:首页 > 软件开发 > .Net开发 > C#教程 > 正文:编程实例 将Dataset导出到Excel

编程实例 将Dataset导出到Excel

新客网 XKER.COM 2008-05-26 来源:寻雨 收藏本文
还是朋友让我写的那个程序昨天刚解决了导入,并做好了筛选、排序、添加、删除、查找、替换之类的,现在要做导出了。通过网友解答和查资料,实现了导出:
代码如下:
先得引用Excel组件。
其中,mydata是我的Dataset信息。对信息进行逐行填充,最后输出。

  Try
            Dim selEmployeeContract As String = "Select   *   from   *   "
            Dim dsEmployeeContract As DataSet = New DataSet
            dsEmployeeContract = mydata
            If dsEmployeeContract Is Nothing Then
                MsgBox("没有数据,无法导出!", MsgBoxStyle.OkOnly)
                Exit Sub
            Else
                Dim xlsapp As New Excel.Application
                xlsapp.Workbooks.Add()
                xlsapp.Visible = True
                xlsapp.Selection.Merge()

                Dim i As Int16
                For i = 1 To dsEmployeeContract.Tables(0).Columns.Count
                    xlsapp.Cells(1, i) = dsEmployeeContract.Tables(0).Columns(i - 1).ColumnName
                Next
                Dim rowindex As Integer = 2
                Dim colindex As Integer
                Dim col As DataColumn
                Dim row As DataRow
                Dim nxh As Integer = 1
                For Each row In dsEmployeeContract.Tables(0).Rows
                    colindex = 1
                    For Each col In dsEmployeeContract.Tables(0).Columns
                        If colindex = 1 Then
                            xlsapp.Cells(rowindex, colindex) = RTrim(Convert.ToString(row(col.ColumnName)))
                        Else
                            xlsapp.Cells(rowindex, colindex) = RTrim(Convert.ToString(row(col.ColumnName)))
                        End If
                        colindex += 1
                    Next
                    rowindex += 1
                    nxh += 1
                Next
                xlsapp.Range(xlsapp.Cells(2, 1), xlsapp.Cells(dsEmployeeContract.Tables(0).Rows.Count + 2, dsEmployeeContract.Tables(0).Columns.Count)).Font.Size = 9
                xlsapp.Range(xlsapp.Cells(2, 6), xlsapp.Cells(dsEmployeeContract.Tables(0).Rows.Count + 2, 4)).NumberFormat = "yyyy-MM-dd"
                xlsapp.Range(xlsapp.Cells(2, 7), xlsapp.Cells(dsEmployeeContract.Tables(0).Rows.Count + 2, 5)).NumberFormat = "yyyy-MM-dd"
                xlsapp.Columns.AutoFit()
            End If
        Catch ex As Exception
            MsgBox(ex.ToString(), MsgBoxStyle.Critical)
        End Try

标签:Dataset   Excel  
收藏】 【评论】 【推荐】 【投稿】 【打印】 【关闭
发表评论
要记得去论坛讨论,点击注册新会员匿名评论
评论内容:不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
推荐阅读
阅读排行
随机推荐
实用信息推荐