asp.net c# 查询数据库 按钮导出Excel 放在桌面上 代码是怎样的 asp.net c# 查询数据库 按钮导出Excel 放在桌面上 代码是怎样的 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 有很多方式,可以自己写代码实例化EXCEL对象实现,如果用developer express控件里面的GRIDVIEW,就很简单。以下附上常见的几种导出方式连接,仅供参考:http://blog.csdn.net/jilm168/article/details/1869118http://www.cnblogs.com/springyangwc/archive/2011/08/12/2136498.html Refer:http://www.cnblogs.com/insus/articles/1400266.html 第一步:前提是你已经用一个方法取得了一张表,假设这个方法为GetTable(string m,string n...)aspx里这么写<input type="button" class="btn_Excel" onclick="OutPut('Excel');" />这个是按钮<iframe width="0" height="0" id="export_page" name="export_page"></iframe>这句放在<form>后面接下来添加JS:<telerik:RadScriptBlock ID="RadScriptBlock1" runat="server"> <script type="text/javascript"> //excel导出 function OutPut(t) { var a = "<%=查询条件1.Trim()%>"; var b = "<%=查询条件2.SelectedValue%>"; ... document.all("export_page").src = "新建导出页面.aspx?Outtype=" + t + "&A=" + a+ "&B=" + b...; } </script> </telerik:RadScriptBlock>第二步:新建导出页面页面aspx:<body> <meta http-equiv="content-type" content="application/ms-excel; charset=UTF-8"/>//防止乱码 <form id="form1" runat="server"> <div> <table style="width: 100%;"> <tr> <td>列名1</td><td>列名2</td> </tr> <asp:PlaceHolder ID="pl_Operation" runat="server"></asp:PlaceHolder> </table> </div> </form></body>后台CS:protected void Page_Load(object sender, EventArgs e) { string Outtype = Request["Outtype"] != null ? Request["Outtype"].ToString() : ""; string a= Request["A"] != null ? Request["A"].ToString() : ""; string b = Request["B"] != null ? Request["B"].ToString() : ""; DataTable dt = ?.GetTable(a,b,...);//方法参数为查询条件,GetTable方法并不在同一个命名空间以及类里面,先实例化一下,?处填写实例 if (null != dt && dt.Rows.Count > 0) { for (var i = 0; i < dt.Rows.Count; i++) { var dr = dt.Rows[i]; if (null != dr && dr.ItemArray.Length > 0) { var tr = new System.Web.UI.HtmlControls.HtmlTableRow(); var td = new System.Web.UI.HtmlControls.HtmlTableCell() { InnerText = dr["列名1"].ToString()//注意,列名需要和数据库里的列名一致 }; tr.Cells.Add(td); td = new System.Web.UI.HtmlControls.HtmlTableCell() { InnerText = dr["列名2"].ToString() }; tr.Cells.Add(td); ... pl_Operation.Controls.Add(tr); } } } ExportData export = new ExportData(); export.ExportControl(this, Outtype, "table1");//table1即为导出excel名,随便起 }最后注意引入命名空间:usiusing System.Collections.Generic;using System.Linq;using System.Web.UI;using System.Web.UI.WebControls;using System.Collections;using System.Data;... 不需要额外的控件,如GRIDVIEW等,只需用按钮,通过查询数据库,导出Excel文件在桌面上的 gridview的样式问题 100分求功能强大的论坛代码(C#+sql server) 请帮忙给解答一下 郁闷!请前辈们帮忙!关于datagrid套用css的问题 在水晶报表里面实现多个表格 在运行ASP.NET中碰到下面问题,为什么ASP.NET不能DEBUG, 请指教. 怎样屏蔽掉ie下方的进度条,在线等! 怎么设置暴风影音 求解决办法:WEB FORM继承自自定义页面基类时,无法加载设计视图? 读文本文件遇到的问题,100分 使用Forms验证时用户Profile的存取方案 关于Attribute和泛型的问题
以下附上常见的几种导出方式连接,仅供参考:
http://blog.csdn.net/jilm168/article/details/1869118
http://www.cnblogs.com/springyangwc/archive/2011/08/12/2136498.html
http://www.cnblogs.com/insus/articles/1400266.html
aspx里这么写<input type="button" class="btn_Excel" onclick="OutPut('Excel');" />这个是按钮
<iframe width="0" height="0" id="export_page" name="export_page"></iframe>这句放在<form>后面
接下来添加JS:<telerik:RadScriptBlock ID="RadScriptBlock1" runat="server">
<script type="text/javascript">
//excel导出
function OutPut(t) {
var a = "<%=查询条件1.Trim()%>";
var b = "<%=查询条件2.SelectedValue%>";
...
document.all("export_page").src = "新建导出页面.aspx?Outtype=" + t + "&A=" + a+ "&B=" + b...;
}
</script>
</telerik:RadScriptBlock>
第二步:新建导出页面
页面aspx:
<body>
<meta http-equiv="content-type" content="application/ms-excel; charset=UTF-8"/>//防止乱码
<form id="form1" runat="server">
<div>
<table style="width: 100%;">
<tr>
<td>列名1</td><td>列名2</td>
</tr>
<asp:PlaceHolder ID="pl_Operation" runat="server"></asp:PlaceHolder>
</table>
</div>
</form>
</body>
后台CS:
protected void Page_Load(object sender, EventArgs e)
{
string Outtype = Request["Outtype"] != null ? Request["Outtype"].ToString() : "";
string a= Request["A"] != null ? Request["A"].ToString() : "";
string b = Request["B"] != null ? Request["B"].ToString() : "";
DataTable dt = ?.GetTable(a,b,...);//方法参数为查询条件,GetTable方法并不在同一个命名空间以及类里面,先实例化一下,?处填写实例
if (null != dt && dt.Rows.Count > 0)
{
for (var i = 0; i < dt.Rows.Count; i++)
{
var dr = dt.Rows[i];
if (null != dr && dr.ItemArray.Length > 0)
{
var tr = new System.Web.UI.HtmlControls.HtmlTableRow();
var td = new System.Web.UI.HtmlControls.HtmlTableCell()
{
InnerText = dr["列名1"].ToString()//注意,列名需要和数据库里的列名一致
};
tr.Cells.Add(td);
td = new System.Web.UI.HtmlControls.HtmlTableCell()
{
InnerText = dr["列名2"].ToString()
};
tr.Cells.Add(td);
...
pl_Operation.Controls.Add(tr);
}
}
}
ExportData export = new ExportData();
export.ExportControl(this, Outtype, "table1");//table1即为导出excel名,随便起
}
最后注意引入命名空间:
usiusing System.Collections.Generic;
using System.Linq;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Collections;
using System.Data;
...