仓酷云

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

[学习教程] ASP网站制作之asp.net里导出excel表办法汇总

[复制链接]
乐观 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 23:37:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
强大的可扩展性。ASP具有强大的扩展性,可以实现与多种网络、硬件设备的连接:通过专用的通讯线路远程接入企业;通过远程拨号服务器为远程拨号客户提供服务;通过WAP为移动电话互联网客户服务。asp.net|excel|导出excel1、由dataset天生

publicvoidCreateExcel(DataSetds,stringtypeid,stringFileName)
{
HttpResponseresp;
resp=Page.Response;
resp.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312");
resp.AppendHeader("Content-Disposition","attachment;filename="+FileName);
stringcolHeaders="",ls_item="";
inti=0;

//界说表工具与行对像,同时用DataSet对其值举行初始化
DataTabledt=ds.Tables[0];
DataRow[]myRow=dt.Select("");
//typeid=="1"时导出为EXCEL格局文件;typeid=="2"时导出为XML格局文件
if(typeid=="1")
{
//获得数据表各列题目,各题目之间以        支解,最初一个列题目后加回车符
for(i=0;icolHeaders+=dt.Columns[i].Caption.ToString()+"        ";
colHeaders+=dt.Columns[i].Caption.ToString()+"
";
//向HTTP输入流中写进获得的数据信息
resp.Write(colHeaders);
//逐行处置数据
foreach(DataRowrowinmyRow)
{
//在以后行中,逐列取得数据,数据之间以        支解,停止时加回车符

for(i=0;ils_item+=row[i].ToString()+"        ";
ls_item+=row[i].ToString()+"
";
//以后行数据写进HTTP输入流,而且置空ls_item以便下行数据
resp.Write(ls_item);
ls_item="";
}
}
else
{
if(typeid=="2")
{
//从DataSet中间接导出XML数据而且写到HTTP输入流中
resp.Write(ds.GetXml());
}
}
//写缓冲区中的数据到HTTP头文件中
resp.End();


}



2、利用微软的C++写的ACTIVEX控件:http://download.microsoft.com/download/OfficeXPDev/sample/1.0/WIN98MeXP/EN-US/Dsoframerctl.exe
3、由datagrid天生:

publicvoidToExcel(System.Web.UI.Controlctl)
{
HttpContext.Current.Response.AppendHeader("Content-Disposition","attachment;filename=Excel.xls");
HttpContext.Current.Response.Charset="UTF-8";
HttpContext.Current.Response.ContentEncoding=System.Text.Encoding.Default;
HttpContext.Current.Response.ContentType="application/ms-excel";//image/JPEG;text/HTML;image/GIF;vnd.ms-excel/msword
ctl.Page.EnableViewState=false;
System.IO.StringWritertw=newSystem.IO.StringWriter();
System.Web.UI.HtmlTextWriterhw=newSystem.Web.UI.HtmlTextWriter(tw);
ctl.RenderControl(hw);
HttpContext.Current.Response.Write(tw.ToString());
HttpContext.Current.Response.End();
}

用法:ToExcel(datagrid1);


4、这个用dataview,代码好长

publicvoidOutputExcel(DataViewdv,stringstr)
{
//
//TODO:在此处增加机关函数逻辑
//
//dv为要输入到Excel的数据,str为题目称号
GC.Collect();
Applicationexcel;//=newApplication();
introwIndex=4;
intcolIndex=1;

_WorkbookxBk;
_WorksheetxSt;

excel=newApplicationClass();

xBk=excel.Workbooks.Add(true);

xSt=(_Worksheet)xBk.ActiveSheet;

//
//获得题目
//
foreach(DataColumncolindv.Table.Columns)
{
colIndex++;
excel.Cells[4,colIndex]=col.ColumnName;
xSt.get_Range(excel.Cells[4,colIndex],excel.Cells[4,colIndex]).HorizontalAlignment=XlVAlign.xlVAlignCenter;//设置题目格局为居中对齐
}

//
//获得表格中的数据
//
foreach(DataRowViewrowindv)
{
rowIndex++;
colIndex=1;
foreach(DataColumncolindv.Table.Columns)
{
colIndex++;
if(col.DataType==System.Type.GetType("System.DateTime"))
{
excel.Cells[rowIndex,colIndex]=(Convert.ToDateTime(row[col.ColumnName].ToString())).ToString("yyyy-MM-dd");
xSt.get_Range(excel.Cells[rowIndex,colIndex],excel.Cells[rowIndex,colIndex]).HorizontalAlignment=XlVAlign.xlVAlignCenter;//设置日期型的字段格局为居中对齐
}
else
if(col.DataType==System.Type.GetType("System.String"))
{
excel.Cells[rowIndex,colIndex]=""+row[col.ColumnName].ToString();
xSt.get_Range(excel.Cells[rowIndex,colIndex],excel.Cells[rowIndex,colIndex]).HorizontalAlignment=XlVAlign.xlVAlignCenter;//设置字符型的字段格局为居中对齐
}
else
{
excel.Cells[rowIndex,colIndex]=row[col.ColumnName].ToString();
}
}
}
//
//加载一个算计行
//
introwSum=rowIndex+1;
intcolSum=2;
excel.Cells[rowSum,2]="算计";
xSt.get_</p>只要你想学,就没什么优缺点,上面那位大哥已经把网上的评论说了,但我认为想学哪个都一样,不然它就不可能在当今时代数字艺术方面存活到今天
精灵巫婆 该用户已被删除
沙发
发表于 2015-1-20 10:44:47 | 只看该作者
用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。
admin 该用户已被删除
板凳
发表于 2015-1-25 22:36:38 | 只看该作者
从事这个行业,那么你可以学ASP语言,简单快速上手,熟练dreamweav排版,写asp代码,熟练photoshop处理图片,打好基础就行了
因胸联盟 该用户已被删除
地板
发表于 2015-2-1 17:50:56 | 只看该作者
不是很难但是英文要有一点基础网上的教程很少有系统的详细的去买书吧,另不用专门学习vb关于vbscript脚本在asp教材都有介绍
柔情似水 该用户已被删除
5#
发表于 2015-2-2 22:17:03 | 只看该作者
学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点:
灵魂腐蚀 该用户已被删除
6#
发表于 2015-2-8 12:31:32 | 只看该作者
我们必须明确一个大方向,不要只是停留在因为学而去学,我们应有方向应有目标.
分手快乐 该用户已被删除
7#
发表于 2015-3-7 21:08:33 | 只看该作者
跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组
山那边是海 该用户已被删除
8#
发表于 2015-3-15 13:46:51 | 只看该作者
哪些内置对象是可以跳过的,或者哪些属性和方法是用不到的?
爱飞 该用户已被删除
9#
发表于 2015-3-22 01:10:32 | 只看该作者
ASP也是这几种脚本语言中最简单易学的开发语言。但ASP也是这几种语言中唯一的一个不能很好支持跨平台的语言。  因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-25 01:52

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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