您现在的位置是:首页 > 科技资讯科技资讯
asp是什么文件(ASPNET数据导出到excel文件给客户端下载的几种方法麻烦告诉我)
编辑 2024-06-04 12:53:53 科技资讯
1. asp是什么文件,ASPNET数据导出到excel文件给客户端下载的几种方法麻烦告诉我?
Response.WriteFile(ASP.NET 数据导出到excel文件给客户端下载的几种方法
数据导出到excel文件给客户端下载的几种方法:
方法一:导出到csv文件,存放在服务器端任一路径,然后给客户下载
优点:
1、可以进行身份认证后给客户下载,如果放到非web目录就没有对应的url,客户无法随时下载。
2、也是因为生成了文件,所以占用了服务器的空间,但是可以把文件名存放到数据库,再次给客户下载的时候不需要重复生成文件。
3、csv文件是文本文件,逗号隔开字段,回车隔开行,易于数据导入导出。
实现方法:
SqlConnectIOn conn=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["conn"]);
SqlDataAdapter da=new SqlDataAdapter("select * from tb1",conn);
DataSet ds=new DataSet();
da.Fill(ds,"table1");
DataTable dt=ds.Tables["table1"];
string name=System.Configuration.ConfigurationSettings.AppSettings["downloadurl"].ToString() DateTime.Today.ToString("yyyyMMdd") new Random(DateTime.Now.Millisecond).Next(10000).ToString() ".csv";//存放到web.config中downloadurl指定的路径,文件格式为当前日期 4位随机数
FileStream fs=new FileStream(name,FileMode.Create,FileAccess.Write);
StreamWriter sw=new StreamWriter(fs,System.Text.Encoding.GetEncoding("gb2312"));
sw.WriteLine("自动编号,姓名,年龄");
foreach(DataRow dr in dt.Rows)
{sw.WriteLine(dr["ID"] "," dr["vName"] "," dr["iAge"]);}
sw.Close();
Response.AddHeader("Content-Disposition", "attachment; filename=" Server.UrlEncode(name));
Response.ContentType = "application/ms-excel";// 指定返回的是一个不能被客户端读取的流,必须被下载
Response.WriteFile(name); // 把文件流发送到客户端
Response.End();
方法二:导出到csv文件,不存放到服务器,直接给浏览器输出文件流
优点:
1、随时生成,不需要占用资源
2、可以结合身份认证
3、同样利于数据交换
实现方法:
SqlConnection conn=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["conn"]);
SqlDataAdapter da=new SqlDataAdapter("select * from tb1",conn);
DataSet ds=new DataSet();
da.Fill(ds,"table1");
DataTable dt=ds.Tables["table1"];
StringWriter sw=new StringWriter();
sw.WriteLine("自动编号,姓名,年龄");
foreach(DataRow dr in dt.Rows)
{sw.WriteLine(dr["ID"] "," dr["vName"] "," dr["iAge"]);}
sw.Close();
Response.AddHeader("Content-Disposition", "attachment; filename=test.csv");
Response.ContentType = "application/ms-excel";
Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312");
Response.Write(sw);
Response.End();
对方法一,二补充一点,如果你希望导出的是xls文件分隔符用/t就可以了,不要用逗号
代码修改如下:
sw.WriteLine("自动编号/t姓名/t年龄");
foreach(DataRow dr in dt.Rows)
{sw.WriteLine(dr["ID"] "/t" dr["vName"] "/t" dr["iAge"]);}
另外,修改输出的文件扩展名为xls即可。
方法三:从datagrid导出html代码,生成excel文件,给客户端下载
实现方法:
Response.Clear();
Response.Buffer= false;
Response.Charset="GB2312";
Response.AppendHeader("Content-Disposition","attachment;filename=test.xls");
Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312"); Response.ContentType = "application/ms-excel"; this.EnableViewState = false;
System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
this.DataGrid1.RenderControl(oHtmlTextWriter);
Response.Write(oStringWriter.ToString());
Response.End();
在这里说明一点:有的网友反映代码出现“没有dr["id"]”之类的错误,这个代码是按照我的数据结构来写的,到时候相关的字段要换成你自己的才是。
还有就是如果文件名需要中文的话,这么修改Response.AddHeader("Content-Disposition", "attachment; filename=" System.Web.HttpUtility.UrlEncode("中文",System.Text.Encoding.UTF8) ".xls");
2. jquery怎样读取asp生成的json文件?
$.getjson("URL", { 参数: 值 }, function(dom) {
//操作dom 就是得到的json对象
});
3. 请问ASP文件是什么?
ASP是基于web的一种编程技术,可以说是cgi的一种。
4. ASP是什么意思?
ASP是一种服务器端脚本编写环境,它以VBScript或JScript作为脚本语言,可以用来创建包含HTML标记、文本和脚本命令的动态网页,称为ASP动态网页,其文件扩展名是.asp。
ASP动态网页中可以包含服务器端脚本,安装在Web服务器计算机上的应用程序扩展软件负责解释并执行这些脚本,该软件的文件名为Asp.dll,通常称为ASP引擎,也就是前面中所说的应用程序服务器。
5. VS2008建立的网站没有Globalasax文件怎么办呀?
在你的网站项目右键,选择添加新项,然后在弹出的对话框中选择 “全局应用程序类” Global.asax 即可了,就会出现该文件。
6. ASP文件怎么转换为EXE文件?
首先搞清楚什么是ASP,什么是EXE。 ASP,是Active Server Page的缩写,它是运行在服务器上的含有脚本的动态网页。
应用ASP,可以使网页实现简单的编程功能,如读写文件,访问数据库等等。
ASP的脚本不需要编译,它在运行时是通过服务器进行解释执行的,并把执行结果以HTML形式传递给客户端,故ASP网页在客户端是无法看到网页中的脚本的。
EXE,是可执行文件,它可以在指定的操作系统上运行,一般EXE程序的源代码都是经过编译了,所以可以独立运行,少数如QBASIC的程序是解释执行的。 看完了上面的介绍,你应该认识到ASP和EXE联系并不大,或者说他们之间无法挂钩。
因为ASP编程是解释执行的,而EXE是编译执行的,且各自所能实现的编程范围也差距甚远(ASP仅限网页有关的编程,而EXE可以实现计算机几乎全部的功能),所以你的问题的答案出来了: 根本不能转换。要转换,自己写EXE吧!
7. asp文件用什么软件看?
用Dreamweaver打开,
asp文件也是一种文本格式的文件,用记事本就可以打开,当然其他的网页制作软件也可以打开。 但是如果你是想要运行它,则必须你的电脑上装了IIS(win2000以上)或PWS(win98),这样你才可以在IE上运行它。
本文标签:
很赞哦! ()