把repeater导入excel的办法? 我的repeater是用table方式写的。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 只是个简单的例子,需要你把数据库链接之类的东西改改:页面代码如下:<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" ><head runat="server"> <title>无标题页</title></head><body> <form id="form1" runat="server"> <div> <asp:Repeater ID="Repeater1" runat="server"> <ItemTemplate> <asp:Label Text='<%# DataBinder.Eval(Container.DataItem,"uid") %>' runat="server" ID = "lbl" /> </ItemTemplate> </asp:Repeater> <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" /></div> </form></body></html>后台代码如下:using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Data.SqlClient;using System.IO;public partial class _Default : System.Web.UI.Page { String con = "server=.;uid=sa;pwd=sql;database=test"; String sql = "select * from test"; public static DataSet ds = new DataSet(); SqlDataAdapter sda; SqlConnection sqlcnn; protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { LoadData(); } } private void LoadData() { sqlcnn = new SqlConnection(con); sda = new SqlDataAdapter(sql, sqlcnn); sda.Fill(ds); this.Repeater1.DataSource = ds; this.Repeater1.DataBind(); } protected void Button1_Click(object sender, EventArgs e) { ExportExcel(this.Page, ds.Tables[0], @"MyExcelFile"); } public static void ExportExcel(System.Web.UI.Page page, System.Data.DataTable dtExcel, string strFileName) { string strExtFile = strFileName.Trim(); if (strExtFile.Substring(strExtFile.Length - 4, 4).ToUpper() != ".XLS") { strExtFile += ".XLS"; } page.Response.Clear(); page.Response.Buffer = true; page.Response.Charset = "utf-8"; page.Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8"); page.Response.AppendHeader("Content-Disposition", "Attachment;fileName=" + strFileName); page.Response.ContentType = "application/vnd.ms-excel"; page.Response.Charset = ""; StringWriter stringWrite = new StringWriter(); HtmlTextWriter htmlTxtWrite = new HtmlTextWriter(stringWrite); htmlTxtWrite.Write("<html>\r\n<meta content=\"text/html;charset=utf-8\"></meta>\r\n<body>\r\n"); htmlTxtWrite.Write("<table cellspacing=\"0\" border=\"1\">\r\n"); htmlTxtWrite.Write("<tr>\r\n"); for (int i = 0; i < dtExcel.Columns.Count; i++) { string strTitle = ConvertToHtmlCode(dtExcel.Columns[i].Caption.Trim()); htmlTxtWrite.Write("\t<td bgcolor=\"lightblue\">" + strTitle + "</td>\r\n"); } htmlTxtWrite.Write("</tr>\r\n"); foreach (DataRow dr in dtExcel.Rows) { htmlTxtWrite.Write("<tr>\r\n"); for (int i = 0; i < dtExcel.Columns.Count; i++) { string strValue = ""; if (dtExcel.Columns[i].DataType == typeof(System.DateTime)) { strValue = DateTimeConvertToString(dr[i]); } else { strValue = ConvertToHtmlCode(dr[i].ToString().Trim()); } htmlTxtWrite.Write("\t<td>" + strValue + "</td>\r\n"); } htmlTxtWrite.Write("</tr>\r\n"); } htmlTxtWrite.Write("\r\n</table>\r\n</body>\r\n</html>"); page.Response.Write(stringWrite.ToString()); page.Response.End(); } public static string DateTimeConvertToString(Object obj) { return DateTimeConvertToString(obj, false); } public static DateTime ConvertToDateTime(Object obj) { return ConvertToDateTime(obj, DefaultDate); } public static DateTime DefaultDate { get { return DateTime.Parse("1990-01-01"); } } public static string DateConvertToString(Object obj, bool bShow) { DateTime dtDate = ConvertToDateTime(obj); if (dtDate == DefaultDate && bShow == false) { return ""; } return dtDate.ToString("yyyy-MM-dd"); } public static string DateTimeConvertToString(Object obj, bool bShow) { DateTime dtDateTime = ConvertToDateTime(obj); if (dtDateTime == DefaultDate && bShow == false) { return ""; } if (dtDateTime.Hour == 0 && dtDateTime.Minute == 0 && dtDateTime.Second == 0) { return dtDateTime.ToString("yyyy-MM-dd"); } return dtDateTime.ToString("yyyy-MM-dd hh:mm:ss"); } public static DateTime ConvertToDateTime(Object obj, DateTime dateDefault) { try { DateTime dateRet = DateTime.Parse(obj.ToString().Trim()); if ((dateRet > DateTime.Parse("1753-01-01 12:00:00")) && (dateRet < DateTime.Parse("9999-01-01 23:59:59"))) { return dateRet; } } catch { } return dateDefault; } public static string ConvertToHtmlCode(string source) { string result = ""; result = source.Replace("<", "<"); result = result.Replace(">", ">"); result = result.Replace("\r\n", "<BR>"); result = result.Replace(" ", " "); return result; }}仅是一个简单的例子,供大家讨论在本机已经测试通过如有问题请回复 asp.net实现消息弹出窗??? GridView点击编辑后删除按钮消失 asp.net Excel驱动问题 求asp过渡到asp.net的学习经验 流媒体不兼容问题 给FCKeditor 2.6 增加附件上传、媒体上传 按钮功能,谁有做好的,给我发一份,自己改不了 关于asp.net怎么防止别人窜改request.querrystring的值.~~~~~~~ 修改多条sql数据库记录 文件保存出错,搞了半天,未果. 各位请帮忙,200分 C#里面,类继承接口后,怎么让接口方法自动显示在类里.在线等.急.... 这种情况下,不能编译,郁闷,如何调用动态加载的控件里的方法?
页面代码如下:<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<asp:Label Text='<%# DataBinder.Eval(Container.DataItem,"uid") %>' runat="server" ID = "lbl" />
</ItemTemplate>
</asp:Repeater>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" /></div>
</form>
</body>
</html>
后台代码如下:using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using System.IO;public partial class _Default : System.Web.UI.Page
{
String con = "server=.;uid=sa;pwd=sql;database=test";
String sql = "select * from test";
public static DataSet ds = new DataSet();
SqlDataAdapter sda;
SqlConnection sqlcnn;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
LoadData();
}
} private void LoadData()
{
sqlcnn = new SqlConnection(con);
sda = new SqlDataAdapter(sql, sqlcnn);
sda.Fill(ds);
this.Repeater1.DataSource = ds;
this.Repeater1.DataBind();
} protected void Button1_Click(object sender, EventArgs e)
{
ExportExcel(this.Page, ds.Tables[0], @"MyExcelFile");
} public static void ExportExcel(System.Web.UI.Page page, System.Data.DataTable dtExcel, string strFileName)
{
string strExtFile = strFileName.Trim();
if (strExtFile.Substring(strExtFile.Length - 4, 4).ToUpper() != ".XLS")
{
strExtFile += ".XLS";
}
page.Response.Clear();
page.Response.Buffer = true;
page.Response.Charset = "utf-8";
page.Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8");
page.Response.AppendHeader("Content-Disposition", "Attachment;fileName=" + strFileName);
page.Response.ContentType = "application/vnd.ms-excel";
page.Response.Charset = "";
StringWriter stringWrite = new StringWriter();
HtmlTextWriter htmlTxtWrite = new HtmlTextWriter(stringWrite);
htmlTxtWrite.Write("<html>\r\n<meta content=\"text/html;charset=utf-8\"></meta>\r\n<body>\r\n");
htmlTxtWrite.Write("<table cellspacing=\"0\" border=\"1\">\r\n");
htmlTxtWrite.Write("<tr>\r\n");
for (int i = 0; i < dtExcel.Columns.Count; i++)
{
string strTitle = ConvertToHtmlCode(dtExcel.Columns[i].Caption.Trim());
htmlTxtWrite.Write("\t<td bgcolor=\"lightblue\">" + strTitle + "</td>\r\n");
}
htmlTxtWrite.Write("</tr>\r\n");
foreach (DataRow dr in dtExcel.Rows)
{
htmlTxtWrite.Write("<tr>\r\n");
for (int i = 0; i < dtExcel.Columns.Count; i++)
{
string strValue = "";
if (dtExcel.Columns[i].DataType == typeof(System.DateTime))
{
strValue = DateTimeConvertToString(dr[i]);
}
else
{
strValue = ConvertToHtmlCode(dr[i].ToString().Trim());
}
htmlTxtWrite.Write("\t<td>" + strValue + "</td>\r\n");
}
htmlTxtWrite.Write("</tr>\r\n");
}
htmlTxtWrite.Write("\r\n</table>\r\n</body>\r\n</html>");
page.Response.Write(stringWrite.ToString());
page.Response.End();
} public static string DateTimeConvertToString(Object obj)
{
return DateTimeConvertToString(obj, false);
}
public static DateTime ConvertToDateTime(Object obj)
{
return ConvertToDateTime(obj, DefaultDate);
}
public static DateTime DefaultDate
{
get { return DateTime.Parse("1990-01-01"); }
}
public static string DateConvertToString(Object obj, bool bShow)
{
DateTime dtDate = ConvertToDateTime(obj);
if (dtDate == DefaultDate && bShow == false)
{
return "";
}
return dtDate.ToString("yyyy-MM-dd");
}
public static string DateTimeConvertToString(Object obj, bool bShow)
{
DateTime dtDateTime = ConvertToDateTime(obj);
if (dtDateTime == DefaultDate && bShow == false)
{
return "";
}
if (dtDateTime.Hour == 0 && dtDateTime.Minute == 0 && dtDateTime.Second == 0)
{
return dtDateTime.ToString("yyyy-MM-dd");
}
return dtDateTime.ToString("yyyy-MM-dd hh:mm:ss");
}
public static DateTime ConvertToDateTime(Object obj, DateTime dateDefault)
{
try
{
DateTime dateRet = DateTime.Parse(obj.ToString().Trim());
if ((dateRet > DateTime.Parse("1753-01-01 12:00:00"))
&& (dateRet < DateTime.Parse("9999-01-01 23:59:59")))
{
return dateRet;
}
}
catch
{
}
return dateDefault;
} public static string ConvertToHtmlCode(string source)
{
string result = "";
result = source.Replace("<", "<");
result = result.Replace(">", ">");
result = result.Replace("\r\n", "<BR>");
result = result.Replace(" ", " ");
return result;
}}仅是一个简单的例子,供大家讨论
在本机已经测试通过
如有问题请回复