乐观 发表于 2015-1-16 23:37:24

ASP网站制作之asp.net里导出excel表办法汇总

强大的可扩展性。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;
DataRow[]myRow=dt.Select("");
//typeid=="1"时导出为EXCEL格局文件;typeid=="2"时导出为XML格局文件
if(typeid=="1")
{
//获得数据表各列题目,各题目之间以        支解,最初一个列题目后加回车符
for(i=0;icolHeaders+=dt.Columns.Caption.ToString()+"        ";
colHeaders+=dt.Columns.Caption.ToString()+"
";
//向HTTP输入流中写进获得的数据信息
resp.Write(colHeaders);
//逐行处置数据
foreach(DataRowrowinmyRow)
{
//在以后行中,逐列取得数据,数据之间以        支解,停止时加回车符

for(i=0;ils_item+=row.ToString()+"        ";
ls_item+=row.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=col.ColumnName;
xSt.get_Range(excel.Cells,excel.Cells).HorizontalAlignment=XlVAlign.xlVAlignCenter;//设置题目格局为居中对齐
}

//
//获得表格中的数据
//
foreach(DataRowViewrowindv)
{
rowIndex++;
colIndex=1;
foreach(DataColumncolindv.Table.Columns)
{
colIndex++;
if(col.DataType==System.Type.GetType("System.DateTime"))
{
excel.Cells=(Convert.ToDateTime(row.ToString())).ToString("yyyy-MM-dd");
xSt.get_Range(excel.Cells,excel.Cells).HorizontalAlignment=XlVAlign.xlVAlignCenter;//设置日期型的字段格局为居中对齐
}
else
if(col.DataType==System.Type.GetType("System.String"))
{
excel.Cells=""+row.ToString();
xSt.get_Range(excel.Cells,excel.Cells).HorizontalAlignment=XlVAlign.xlVAlignCenter;//设置字符型的字段格局为居中对齐
}
else
{
excel.Cells=row.ToString();
}
}
}
//
//加载一个算计行
//
introwSum=rowIndex+1;
intcolSum=2;
excel.Cells="算计";
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教材都有介绍

柔情似水 发表于 2015-2-2 22:17:03

学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点:

灵魂腐蚀 发表于 2015-2-8 12:31:32

我们必须明确一个大方向,不要只是停留在因为学而去学,我们应有方向应有目标.

分手快乐 发表于 2015-3-7 21:08:33

跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组

山那边是海 发表于 2015-3-15 13:46:51

哪些内置对象是可以跳过的,或者哪些属性和方法是用不到的?

爱飞 发表于 2015-3-22 01:10:32

ASP也是这几种脚本语言中最简单易学的开发语言。但ASP也是这几种语言中唯一的一个不能很好支持跨平台的语言。  因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。
页: [1]
查看完整版本: ASP网站制作之asp.net里导出excel表办法汇总