仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 905|回复: 8
打印 上一主题 下一主题

[学习教程] ASP.NET网页设计将DataGrid中数据倒出Excel文件并下载

[复制链接]
柔情似水 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:32:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
它有很多缺点的,有兴趣可以到网上去搜索一下。于是微软有发明了“下一代”C++:C++/CLI语言,这个可以解决在.NETFramework中,托管C++产生的问题。在《程序员》杂志上,lippman和李建中合作连载介绍了C++/CLI语言。datagrid|excel|数据|下载ImportsSystem
ImportsSystem.Text
NamespacetoExcel

功效:将ASP.net中DataGrid天生Excel文件下载。
Mountains改善:1、撑持中文2、埋没列不显现
日期:2002.10.30
PublicClassDataGridToCSV

PublicFunctionGenerateFile(ByRefPageAsSystem.Web.UI.Page,ByValMyDataGridAsSystem.Web.UI.WebControls.DataGrid,ByValFileNameAsString)AsString

DimrespAsHttpResponse
DimcolCountAsInteger=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)需要,做成下载文件


DimcolHeadersAsString=""
DimstrItemsAsStringBuilder=NewStringBuilder()

DimmyColAsDataGridColumn

DimiAsInteger

Fori=0TocolCount
myCol=MyDataGrid.Columns(i)
IfmyCol.Visible=TrueThen
colHeaders=colHeaders&myCol.HeaderText.ToString&","
EndIf
Next

IfcolHeaders.Length>0Then
colHeaders=colHeaders.Substring(0,colHeaders.LastIndexOf(","))
EndIf

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


resp.Write(colHeaders)

DimcolRowAsString

DimitemAsDataGridItem

ForEachitemInMyDataGrid.Items
resp.Write(FormatExportRow(colCount,item,MyDataGrid))
Nextitem

resp.End()

EndFunction

PrivateFunctionFormatExportRow(ByValcolCountAsInteger,ByValItemAsDataGridItem,ByValMyDataGridAsSystem.Web.UI.WebControls.DataGrid)AsString
DimstrItemAsString
DimiAsInteger

Fori=0TocolCount
IfMyDataGrid.Columns(i).Visible=TrueThen
IfItem.Cells(i).TextIsSystem.DBNull.ValueThen
Item.Cells(i).Text=""
EndIf
Ifi=colCountThen
strItem+=Item.Cells(i).Text.ToString&Chr(13)&Chr(10)
Else
strItem+=Item.Cells(i).Text.ToString&","
EndIf
EndIf
Next
strItem=Replace(strItem,"","")
ReturnstrItem
EndFunction


EndClass

EndNamespace来吧!老师们!我代表千千万万的asp.net/C#的初学者在这里呼唤着!
老尸 该用户已被删除
沙发
发表于 2015-1-18 16:16:32 | 只看该作者
是指转换后的Servlet程序代码的行数。这给调试代码带来一定困难。所以,在排除错误时,可以采取分段排除的方法(在可能出错的代码前后输出一些字符串,用字符串是否被输出来确定代码段从哪里开始出错)。
简单生活 该用户已被删除
板凳
发表于 2015-1-22 10:21:11 来自手机 | 只看该作者
ASP是把代码交给VBScript解释器或Jscript解释器来解释,当然速度没有编译过的程序快了。
再见西城 该用户已被删除
地板
发表于 2015-1-31 06:03:05 | 只看该作者
ASP是把代码交给VBScript解释器或Jscript解释器来解释,当然速度没有编译过的程序快了。
只想知道 该用户已被删除
5#
发表于 2015-2-6 17:46:11 | 只看该作者
在调试JSP代码时,如果程序出错,JSP服务器会返回出错信息,并在浏览器中显示。这时,由于JSP是先被转换成Servlet后再运行的,所以,浏览器中所显示的代码出错的行数并不是JSP源代码的行数。
飘飘悠悠 该用户已被删除
6#
发表于 2015-2-17 20:57:36 | 只看该作者
这也就是最近几年来随着各种新的后台技术的诞生,CGI应用在Internet上越来越少的原因。CGI方式不适合大访问量的应用。
不帅 该用户已被删除
7#
发表于 2015-3-5 22:43:56 | 只看该作者
CGI程序在运行的时候,首先是客户向服务器上的CGI程序发送一个请求,服务器接收到客户的请求后,就会打开一个新的Process(进程)来执行CGI程序,处理客户的请求。CGI程序最后将执行的结果(HTML页面代码)传回给客户。
小魔女 该用户已被删除
8#
发表于 2015-3-12 16:31:24 | 只看该作者
在调试JSP代码时,如果程序出错,JSP服务器会返回出错信息,并在浏览器中显示。这时,由于JSP是先被转换成Servlet后再运行的,所以,浏览器中所显示的代码出错的行数并不是JSP源代码的行数。
透明 该用户已被删除
9#
发表于 2015-3-19 23:59:04 | 只看该作者
Asp.net:首先来说,Asp.net和Asp没什么关系,看着像是升级版本什么的,其实没什么联系。Asp是脚本编程,用的是ASP语言,而ASP.net用的是C#语言,完全不同的东西。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-24 01:43

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表