注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

樱之花

叶散的时候,你明白欢聚;花谢的时候,你明白青春.

 
 
 

日志

 
 
关于我

分类中“我的实验室”是我在日常工作中的一些知识总结,有些写的比较匆忙,可能大家在阅读时会产生困扰,后期有时间我会重新整理编辑,谢谢大家的到访,您们的支持是我前进的动力!

网易考拉推荐

VB.NET把DataTable里的内容导出到EXCEL  

2009-08-19 10:27:12|  分类: .NET/C# |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

第一种方法:

在程序的引用中添加对Excel的引用.

添加引用Microsoft Excel 9.0 Object Library后

Function SendToExcel(ByVal Table As DataTable, ByVal SheetName As String)

        Dim oExcel As New Excel.Application

        Dim obook As Excel.Workbook

        Dim oSheet As Excel.Worksheet

        Try

            obook = oExcel.Workbooks.Add '.Open(file)

            oSheet = obook.Worksheets(1)

            oSheet.Name = SheetName

            Dim r As Integer, c As Integer

            Dim rCount As Integer

            Dim cCount As Integer

            rCount = Table.Rows.Count

            cCount = Table.Columns.Count()

            For c = 1 To cCount

                oSheet.Cells(1, c) = Table.Columns(c - 1).Caption '设置列标题

            Next

            c = 0 : r = 0

            For r = 1 To rCount

                For c = 1 To cCount

                    oSheet.Cells(r + 1, c) = CStr(Table.Rows(r - 1)(c - 1).ToString)

                Next

            Next

            oExcel.Visible = True

        Catch ex As Exception

            MsgBox(ex.Message)

        End Try

        oExcel = Nothing

        obook = Nothing

        oSheet = Nothing

    End Function

 

第二种方法:

'把DataTable里的内容导出到EXCEL,执行代码就行,什么都不用改,什么都不用设置

Private   Sub   toExcel(ByVal   tb   As   DataTable)

                Dim   dgrid   As   System.Web.UI.WebControls.DataGrid   =   Nothing

                Dim   context   As   System.Web.HttpContext   =   System.Web.HttpContext.Current

                Dim   strOur   As   System.IO.StringWriter   =   Nothing

                Dim   htmlWriter   As   System.Web.UI.HtmlTextWriter   =   Nothing

                If   Not   IsNothing(tb)   Then

                        if tb.rows.count=0 then exit sub

                        context.Response.ContentType   =   "application/vnd.ms-excel "

                        context.Response.ContentEncoding   =   System.Text.Encoding.UTF7

                        context.Response.Charset   =   " "

                        strOur   =   New   IO.StringWriter

                        htmlWriter   =   New   System.Web.UI.HtmlTextWriter(strOur)

                        dgrid   =   New   DataGrid

                        dgrid.DataSource   =   tb.DefaultView

                        dgrid.AllowPaging   =   False

                        dgrid.DataBind()

                        dgrid.RenderControl(htmlWriter)

                        context.Response.Write(strOur.ToString)

                        context.Response.End()

                End   If 

End   Sub

  评论这张
 
阅读(2294)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017