下面的代码分析如何通过修改http头文件,产生excel的文件供用户下载,以达到数据导出的功能。
        Dim resp As HttpResponse
        Dim colCount As Integer = MyDataGrid.Columns.Count - 1
        resp = Page.Response
        resp.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312") 
        '解决中文乱码之关键
        resp.ContentType = "Text/csv" 
        '通过修改文件类型可以让用户下载为csv类型的文件,修改text/**内容
        resp.AppendHeader("Content-Disposition", "attachment;filename=" + FileName + ".csv") 
        '必要,做成下载文件
 
        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()我把上面的代码拷贝到我的项目中,发现了两个错误。一是:resp.AppendHeader("Content-Disposition", "attachment;filename=" + FileName + ".csv") 语句中的 FileName 未定义,我应该怎么修改? 二是:resp.Write(FormatExportRow(colCount, item, MyDataGrid))中FormatExportRow()未定义,请问FormatExportRow()这个函数有什么作用?如何修改?