在ASP.ENT中怎么把数据集里的数据导出到EXCEL文件里

作者&投稿:陀魏 (若有异议请与网页底部的电邮联系)
在ASP中怎么把页面中的数据导出到EXCEL~





生成EXCEL文件



<%
dim rs,sql,filename,fs,myfile,objSpreadsheet,x
Set fs = server.CreateObject("scripting.filesystemobject")
'--假设你想让生成的EXCEL文件做如下的存放
filename = Server.MapPath("online.xls")
'--如果原来的EXCEL文件存在的话就删除
if fs.FileExists(filename) then
fs.DeleteFile(filename)
end if
'Set objSpreadsheet = Server.CreateObject("OWC.Spreadsheet")
'objSpreadsheet.Cells(iRow, iCol).Font.Bold = True
'objSpreadsheet.Cells(iRow, iCol).Font.Italic = False
'objSpreadsheet.Cells(iRow, iCol).Font.Size = 10
'objSpreadsheet.Cells(iRow, iCol).Halignment = 2 '居中

'--创建EXCEL文件
set myfile = fs.CreateTextFile(filename,true)
Set rs = Server.CreateObject("ADODB.Recordset")
'--从数据库中把你想放到EXCEL中的数据读出来
sql = "select * from 表名 order by id desc"
rs.Open sql,conn,1,1

if rs.EOF and rs.BOF then
else
dim strLine,responsestr
strLine=""
For each x in rs.fields
strLine = strLine & x.name & chr(9)
Next
'--将表的列名先写入EXCEL
myfile.writeline strLine
Do while Not rs.EOF
strLine=""
for each x in rs.Fields
strLine = strLine & x.value & chr(9)
next
'--将表的数据写入EXCEL
myfile.writeline strLine
rs.MoveNext
loop
response.Write("下载 ")
end if
rs.Close
set rs = nothing
%>

StringWriter sw = new StringWriter();
sw.WriteLine("Schemeid,MailCount");//标题
foreach (DataRow dr in dt.Rows)
{//字段名
sw.WriteLine(dr["Schemeid"].ToString() + "," + dr["MailCount"].ToString());
}
sw.Close();

string name = DateTime.Now.ToString() + ".csv";//以当前时间为excel表命名

Response.AddHeader("Content-Disposition", "attachment; filename=" + Server.UrlEncode(name));

Response.ContentType = "vnd.ms-excel.numberformat:yyyy-MM-dd ";

Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");

Response.Write(sw);

Response.End();

// 导出列表信息到Excel
public static void gSendGridInfoToExcel(DataGrid GridX)
{
Excel.Application excel= new Excel.ApplicationClass();
Excel._Workbook xBk = excel.Workbooks.Add(true);
Excel._Worksheet xSt = (Excel._Worksheet)xBk.ActiveSheet;
Excel.Range excelCell=null;
try
{

//赋值对象
object[] objarr;
DataTable dtTest=new DataTable();;
int i,j;
int iRows,iCows;
int iVisable;
iVisable=0;
iCows=0;
ArrayList list=new ArrayList();
//如果绑定数据源是DataTable和DataSet,取得行数
if (GridX.DataSource is System.Data.DataSet || GridX.DataSource is System.Data.DataTable)
{
dtTest=(DataTable)GridX.DataSource;
iRows=dtTest.Rows.Count;
}
else if (GridX.DataSource is System.Data.DataView)
{
DataView dvTest=(DataView)GridX.DataSource;
iRows=dvTest.Count;
dtTest=dvTest.Table;
}
//如果是集合取得行数
else
{
System.Collections.CollectionBase ColTest;
ColTest=(System.Collections.CollectionBase)GridX.DataSource;
iRows=ColTest.Count;
}
//如果有TableStyles则根据TableStyles取得(标题行)
if (GridX.TableStyles.Count>0)
{
iCows=GridX.TableStyles[0].GridColumnStyles.Count;
for(i=0;i<iCows;i++)
{
if(GridX.TableStyles[0].GridColumnStyles[i].Width>0)
{
iVisable++;
list.Add(GridX.TableStyles[0].GridColumnStyles[i].HeaderText);
}

}
objarr = new object[iVisable];
objarr=list.ToArray();
excelCell = xSt.get_Range(excel.Cells[1,1],excel.Cells[1,iVisable]);
excelCell.Value2 = objarr;
//数据行
for(i=0;i<iRows;i++)
{
objarr = new object[iVisable];
list.Clear();

for(j=0;j<iCows;j++)
{
if(GridX.TableStyles[0].GridColumnStyles[j].Width>0)
{
list.Add("'"+GridX[i,j].ToString().Replace("\n",""));
}

}
if (list.Equals(System.DBNull.Value))
{
break;
}
objarr=list.ToArray();
excelCell = xSt.get_Range(excel.Cells[i+2,1],excel.Cells[i+2,iVisable]);
excelCell.Value2 = objarr;
}
}
else
{
iCows=dtTest.Columns.Count;
for(i=0;i<iCows;i++)
{
list.Add(dtTest.Columns[i].Caption);
}
objarr = new object[iCows];
objarr=list.ToArray();
excelCell = xSt.get_Range(excel.Cells[1,1],excel.Cells[1,iCows]);
excelCell.Value2 = objarr;

//数据行
for(i=0;i<iRows;i++)
{
objarr = new object[iCows];
list.Clear();

for(j=0;j<iCows;j++)
{
list.Add("'"+GridX[i,j].ToString().Replace("\n",""));
}
if (list.Equals(System.DBNull.Value))
{
break;
}
objarr=list.ToArray();
excelCell = xSt.get_Range(excel.Cells[i+2,1],excel.Cells[i+2,iCows]);
excelCell.Value2 = objarr;
}

}
dtTest.Dispose();

excel.Visible=true;

}
catch (System.Exception e)
{
throw e;
}
finally
{
excelCell=null;
xBk=null;
xSt=null;
excel=null;
GC.Collect();
}

}


asp.net修改母版内容
利用session创建一个项,在该项里赋值 在母板页的load事件中始终载入此项的值 当然,母板页先要判断此项是不是null 看看行不行

asp.net数据提交顺序错乱,请高手帮忙
你数据显示的时候没有让他按顺序吗?重改一下数据查询语句加上顺序试试

asp.Net N层的DBHelper
asp.Net N层的DBHelper 要求:代码量少,数据连接性能较好代码规范,命名规范... 要求:代码量少,...你直接用微软官方的 ENT LIB 就是啦地址,我发消息给你了 已赞过 已踩过< 你对这个回答的评价是...50任务 略略略略… 100任务 略略略略… 200任务 略略略略… 任务列表加载中...新手...

asp.net2.0 读写config文件
writer.WriteEndElement(); \/\/将XML写入文件并且关闭XmlTextWriter writer.Close(); }}如果你编译并且执行上面的代码,你将创建这个XML文件,文件中包含如下内容:<items> Unreal Tournament 2003 C&C: Renegade Dr. Seuss‘s ABC<\/items>上面的代码创建了一个名为writer的XmlTextWriter对象。当这个对象被创建时,它被...

ASP.NET C#实现DataTable 转化为xml格式
\/\/实例化,且在实例化过程中指定生成路径 xw.Formatting = Formatting.Indented;\/\/自动缩进 xw.WriteStartDocument();\/\/文档声明头 xw.WriteStartElement("购买信息");\/\/只能有一个根,根头 \/\/第一件事 xw.WriteStartElement("购买人");xw.WriteString(uname);xw.WriteEndElement();for (int i =...

asp.ent网站发布后如何查看.aspx.cs
发布后 没法看吧。。

asp.net C# 生成sitemap.xml 问题?
\/\/\/ 数据库中取出的要添加的节点对象 \/\/\/ <returns>是否添加成功<\/returns> public bool ChildNodesCreate(ref XmlDocument doc,ref XmlElement t,DataRow row){ \/\/添加Web.SiteMap的三个基本属性 XmlAttribute nodvalue = doc.CreateAttribute("url");nodvalue.Value = row["TitleUrl"].ToString(...

Asp.net c# 后台控制src=地址
后台代码:img1.Src = "http:\/\/baidu.com";

如何在本地Windows 7系统下搭建asp环境
1.安装IIS(精简版):打开控制面板-程序和功能,左侧面板:打开或关闭Windows功能(刚用时找了半天也每发现--!),勾选Internent信息服务,默认情况下万维网服务下的应用程序开发功能貌似没有圈选,倘若没有的话要自己圈选:分别是.NET扩展性、ASP、ISAPI扩展选项,其余的和正常安装IIS步骤一样,用...

在自学ASP.ENT,感觉要学的东西太多了,学的好痛苦啊,求高手指点_百度知 ...
这个。慢慢来吧。。我也学这个,但是主要要自己对它有兴趣,比如我现在对网页比较感兴趣。才会有动力的。

康平县13520531987: asp.net如何提取数据库中的值 -
冉饰氯唑: Sqlserver数据库可以采用:ADO.NET才获取数据库中的值:public string GetPhoneByUserName(string UserName) { SqlConnection conn = new SqlConnection("Server=.;database=数据库名;uid=sa;pwd=***"); conn.Open(); SqlCommand ...

康平县13520531987: ASP中如何修改数据库里的内容? -
冉饰氯唑: sql = "update other set address ='"&地址&"',data='"&数据&"' where id="&id conn.execute(sql) 总之就是用"update "语句修改 最后用conn.execute(sql)来执行就可以了

康平县13520531987: ASP.NET 怎么提取指定行列的值!!详细点 比如 我数据库里一张表 我想读取2行3列的值 放入 复制黏贴不要C# -
冉饰氯唑: 从你要的结果我给你分析思路再敲代码 1 你从数据库取出来的是一个结果集;前台 DataSet ds = new (); 2 前边的创建了一个DataSet 集合,所以你可以用它来接受值; ds = (你从数据库查处的结果集) 3现在开始取DataSet 里边的值,其实就...

康平县13520531987: 在asp.net中,怎样把从数据库查询出的一行数据分别取出它每一列的值? -
冉饰氯唑: SqlConnection con = new SqlConnection(@"server=.\sqlexpress;database=TestDataBase;uid=sa;pwd=123"); con.Open(); SqlCommand cmd = new SqlCommand("select * from Test1", con); SqlDataAdapter sda = new SqlDataAdapter(cmd...

康平县13520531987: asp.net中如何将数据库里的数据显示到HTML的table里,详细点,要代码,拜托各位大侠了. -
冉饰氯唑: 其实最简单的方法就是在项目库里通过建Asp.Net实体数据模型,引用你所需要的数据库的表,然后通过实例化你实体模型的对象,通过EF的形式,写出查询的方法,在通过.Net内自的Repeator控件来自定义你需要显示的值即可.比如:姓名 就行,注意,"Name"给数据库的字段名必须一样.

康平县13520531987: asp.net中如何把数据通过按钮提交到SQL数据库 -
冉饰氯唑: 这个分情况的.如果是按钮,然后把页面上的数据提交进去,这个很简单,在button控件下,写连接串,打开数据库,然后写SQL语句,把页面上的一堆数据 用 INSERT插到数据库里.第二张,点击button是,把每个要存的值付给参数,然后通过函数传值,调用SQL的存储过程,也就是通常我们所说的SP.然后在数据库里的SP里写存储语句就可以.第二张方法是工作时候我才知道的,上大学的时候,一直只会第一种方法.

康平县13520531987: 在asp.net C#编程中如何将在数据库中查到的数据用excel显示出来 -
冉饰氯唑: 1、获取数据库数据; 2、将数据写入文件流FileStream 3、将文件流写入页面输出流

康平县13520531987: asp.net中如何将数据库中的数据赋值到数组中
冉饰氯唑:DataTable dt = ds.Tables["Table_1"]; //从数据库中获行 Table_1 表给 dt string[] fn = new string[dt.Rows.Count ]; //创建一个与表行数相等的固定数组 for (int i = 0; i < dt.Rows.Count; i++) { fn[i] = dt.Rows[i][1].ToString(); }

康平县13520531987: ASP.NET如何取得数据库表中的值 -
冉饰氯唑: 1,先建立一个数据库UserTest. 2,在里面建立一个表叫UsersTable,设计表,建立三个列:u_id, u_name, u_pwd. 3,u_id是int数据类型,自增1;u_name是nvarchar类型,长度12;u_pwd是varchar类型,长度12,然后保存该表. 4,打开表,在...

康平县13520531987: asp.net中如何实现将数据库中的数据现实在DIV中,并且做成超链接,传值到另外的页面 -
冉饰氯唑: <asp:Repeater ID="Repeater1" runat="server"> <ItemTemplate> <div><a href="#"> <%#Eval("字段名") %></a></div> </ItemTemplate> </asp:Repeater>

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网