柔情似水 发表于 2015-1-16 22:32:36

ASP.NET网页设计将DataGrid中数据倒出Excel文件并下载

它有很多缺点的,有兴趣可以到网上去搜索一下。于是微软有发明了“下一代”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解释器来解释,当然速度没有编译过的程序快了。

只想知道 发表于 2015-2-6 17:46:11

在调试JSP代码时,如果程序出错,JSP服务器会返回出错信息,并在浏览器中显示。这时,由于JSP是先被转换成Servlet后再运行的,所以,浏览器中所显示的代码出错的行数并不是JSP源代码的行数。

飘飘悠悠 发表于 2015-2-17 20:57:36

这也就是最近几年来随着各种新的后台技术的诞生,CGI应用在Internet上越来越少的原因。CGI方式不适合大访问量的应用。

不帅 发表于 2015-3-5 22:43:56

CGI程序在运行的时候,首先是客户向服务器上的CGI程序发送一个请求,服务器接收到客户的请求后,就会打开一个新的Process(进程)来执行CGI程序,处理客户的请求。CGI程序最后将执行的结果(HTML页面代码)传回给客户。

小魔女 发表于 2015-3-12 16:31:24

在调试JSP代码时,如果程序出错,JSP服务器会返回出错信息,并在浏览器中显示。这时,由于JSP是先被转换成Servlet后再运行的,所以,浏览器中所显示的代码出错的行数并不是JSP源代码的行数。

透明 发表于 2015-3-19 23:59:04

Asp.net:首先来说,Asp.net和Asp没什么关系,看着像是升级版本什么的,其实没什么联系。Asp是脚本编程,用的是ASP语言,而ASP.net用的是C#语言,完全不同的东西。
页: [1]
查看完整版本: ASP.NET网页设计将DataGrid中数据倒出Excel文件并下载