将DataGrid中数据倒出Excel文件并下载

原创 2004年09月25日 20:00:00
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

将DataGrid中数据倒出Excel文件并下载

Imports SystemImports System.TextNamespace toExcel 功能:将asp.net中DataGrid生成Excel文件下载。Mountains改进:1、支持中...
  • xmltea
  • xmltea
  • 2005年04月27日 13:38
  • 642

C# WPF读取Excel数据并把数据绑定到DataGrid中

新建一个WPF项目: 建立好了打开MainWindow.cs页面 首先读取Excel数据,如下所示:   public DataTable GetData(string Path)     //...
  • a123455o
  • a123455o
  • 2016年12月22日 16:45
  • 1971

查询数据写入excel并下载

private XSSFWorkbook export(HttpServletRequest request, HttpServletResponse response,  String fileN...
  • silentmuh
  • silentmuh
  • 2016年10月24日 16:29
  • 555

excel数据导入到datagrid

首先把excel的数据检索出来,与对access的操作类似,使用olede就可以,其次把数据放到datatable中,绑定就行了。sampleif(!IsPostBack)   {    string...
  • bohua2008
  • bohua2008
  • 2007年07月25日 11:50
  • 413

java实现excel打包下载

最近公司让我做一个报表的打包下载功能,以前从来没有接触过,从问了下度娘,实现其功能的方式很多,其中我找到一篇博文就写得非常好,本人也是根据博文所讲做的,但是现在找不到他的链接地址了,,在这里就本人所做...
  • Sunking_Yin
  • Sunking_Yin
  • 2016年09月08日 10:54
  • 2095

wpf导出DataGrid到Excel

public static void ExportDataGrid(DataGrid dGrid)         {             SaveFileDialog objSFD = ne...
  • qiangzi9009
  • qiangzi9009
  • 2014年11月04日 15:07
  • 1608

将Excel的内容复制到EasyUI的dataGrid里(复制列)

在网上找了好久,将Excel的内容复制到EasyUI的dataGrid里,都没有找到相应的解决方案,于...
  • tanfazhong
  • tanfazhong
  • 2014年07月01日 13:08
  • 4787

用DataGrid生成Excel(总结)

public static void ExportExcelFile(System.Data.DataTable myTable)        {            if(myTable != ...
  • saijie1983
  • saijie1983
  • 2008年04月09日 11:37
  • 454

python通过xlwt模块直接在网页上生成excel文件并下载

转载自:http://www.sharejs.com/codes/python/7265 import xlwt import StringIO import web urls = ( '/rim...
  • feigamesnb
  • feigamesnb
  • 2015年12月31日 15:02
  • 864

DataGrid的数据导入到Excel或CSV

这几天一直在给我姐姐公司的开发一个新的软件,方便他们使用。这个软件使用C#+Sql Server建设的,基本上算是完成了,但是今天他们提出了一个功能数据的导出功能,我在网上搜索了一下,再CodePor...
  • AloneSword
  • AloneSword
  • 2006年02月25日 15:32
  • 2924
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:将DataGrid中数据倒出Excel文件并下载
举报原因:
原因补充:

(最多只允许输入30个字)