教程中国
PHOTOSHOP CS9.0中文版 MAYA 8.5 FOR WINDOWS Corel Painter v9.0 Flash MX2004 中文版 Illustrator cs2 中文版
VC++6.0含sp6 中英文版 VB6.0 +sp6 简体中文版 Borland Delphi 7汉化版 MSDN for vb6.0中文版 Visual Studio 2005简体
教程中国下属 文件存储共享专家BIBIDU.COM 提供大型软件,教材,源码,电影,音乐,图书等下载 更多精品请点此进入
  您目前所在位置: 教程中国 >> .NET类 >> ASP.NET >> 问题解决了,先将改进代码贴出。(实现将DataGrid中数据倒出Excel文件并下载) RSS订阅
问题解决了,先将改进代码贴出。(实现将DataGrid中数据倒出Excel文件并下载)
教程(视频,书籍)下载:  ASP.NET AutoCAD 数据库 C# ASP java photoshop 网页设计 delphi 3dmax Flash C++ VB 张孝祥 实例   更多请进入BIBIDU搜索
IT搜索引擎   
Imports System
Imports System.Text
Namespace toExcel

    '功能:将ASP.net中DataGrid生成Excel文件下载。
    'Mountains改进:1、支持中文 2、隐藏列不显示
    '日期:2002.10.30
    Public Class DataGridToCSV

        Public Function GenerateFile(ByRef Page As System.Web.UI.Page, ByVal MyDataGrid As System.Web.UI.WebControls.DataGrid, ByVal FileName As String) As String

            Dim resp As HttpResponse
            Dim colCount As Integer = MyDataGrid.Columns.Count - 1

            resp = Page.Response

            resp.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312") '解决中文乱码之关键
            'resp.Charset = "utf-8"
            'resp.AddFileDependency(FileName)
            'resp.ContentType = "Text/HTML"
            ''resp.AppendHeader("Content-Type", "text/HTML; charset=gb2312")

            resp.AppendHeader("Content-Disposition", "attachment;filename=" + FileName)  '必要,做成下载文件
   

            Dim colHeaders As String = ""
            Dim strItems As StringBuilder = New StringBuilder()

            Dim myCol As DataGridColumn

            Dim i As Integer

            For i = 0 To colCount
                myCol = MyDataGrid.Columns(i)
                If myCol.Visible = True Then
                    colHeaders = colHeaders & myCol.HeaderText.ToString & ","
                End If
            Next

            If colHeaders.Length > 0 Then
                colHeaders = colHeaders.Substring(0, colHeaders.LastIndexOf(","))
            End If

            colHeaders = colHeaders & Chr(13) & Chr(10)



            resp.Write(colHeaders)

            Dim colRow As String

            Dim item As DataGridItem

            For Each item In MyDataGrid.Items
                resp.Write(FormatExportRow(colCount, item, MyDataGrid))
            Next item

            resp.End()

        End Function

        Private Function FormatExportRow(ByVal colCount As Integer, ByVal Item As DataGridItem, ByVal MyDataGrid As System.Web.UI.WebControls.DataGrid) As String
            Dim strItem As String
            Dim i As Integer

            For i = 0 To colCount
                If MyDataGrid.Columns(i).Visible = True Then
                    If Item.Cells(i).Text Is System.DBNull.Value Then
                        Item.Cells(i).Text = ""
                    End If
                    If i = colCount Then
                        strItem += Item.Cells(i).Text.ToString & Chr(13) & Chr(10)
                    Else
                        strItem += Item.Cells(i).Text.ToString & ","
                    End If
                End If
            Next
            strItem = Replace(strItem, " ", " ")
            Return strItem
        End Function


    End Class

End Namespace


来源:upschool.com.cn
作者:
关键字:问题解决,先将改进代码贴出。
发表日期:2005-12-23

网页显示有限 阅读全文请下载本文完整版WORD文档

上一篇:呵呵,Word转换成Html的程序,昨天跟开心、sonymusic闲聊的时候提到的   下一篇:从 VBA 中使用 Visual Basic .NET 将 Word 文档序列化为 XML


本文的相类似文章
  • 网卡损坏令系统无法启动问题解决
  • Windows2003常见问题解决办法
  • Windows2003常见问题解决办法
  • Win XP打印机共享问题解决方法
  • Windows XP中Internet四则常见问题解决方法
  • Windows XP系统打印机共享问题解决方法
  • Windows XP不能装USB 2.0驱动问题解决
  • XP:19技常见问题解决方案大集合
  • XP使用过程中常见问题解决办法
  • XP系统19例常见问题解决方案合集
  • 网友评论 查看本文全部评论
    笔 名: *
    评 论:
    最多500字。当前字数:0
    联系方式:
    验证码:
    在学习中进步 在进步中成长 教程中国相随您的成长之路
    华腾联合科技股份有限公司版权所有
    广告联系:Rosibo@163.com