ASp.Net中怎样将Repeater中CheckBox的选中项导入到Excel中!高分在线等答案!
2个回答
展开全部
这个问题不太难。整个需求要想好怎么分步实现就行了。
1、识别checkbox选中的数据。
2、从网上找代码,可以找到很多asp.net和excel交互的代码,然后把选中的数据导入excel中。
数据库中的数据在建立表格字段的时候添加一个判断是否选中的字段,如果repeater里面checkbox选中了这个记录,那么数据库里面对应该记录的判断字段就是1,否则就是零。然后再点击“导出到excel”按钮时候,执行从网上找到的代码就可以了,一般就是一个excel连接语句,加一个数据库查询语句(这个语句就是选择那些判断字段为1的记录。),将要导出的记录选择出来放入一个dataset中,再将整个dataset中的数据导出到excel中(这部分代码多得是,自己网上搜搜)。
1、识别checkbox选中的数据。
2、从网上找代码,可以找到很多asp.net和excel交互的代码,然后把选中的数据导入excel中。
数据库中的数据在建立表格字段的时候添加一个判断是否选中的字段,如果repeater里面checkbox选中了这个记录,那么数据库里面对应该记录的判断字段就是1,否则就是零。然后再点击“导出到excel”按钮时候,执行从网上找到的代码就可以了,一般就是一个excel连接语句,加一个数据库查询语句(这个语句就是选择那些判断字段为1的记录。),将要导出的记录选择出来放入一个dataset中,再将整个dataset中的数据导出到excel中(这部分代码多得是,自己网上搜搜)。
展开全部
思路:将Repeater中的CheckBox的选中项先放到DataTable中,然后将DataTable导出到Excel中。
第一步,Repeater->DataTable:
DataTable dt = new DataTable();
dt.Columns.Add("序号");
dt.Columns.Add("id");
dt.Columns.Add("name");
dt.Columns.Add("pass");
int i = 1;
foreach (RepeaterItem item in Repeater1.Items)
{
CheckBox checkbox1 = item.FindControl("CheckBox1") as CheckBox;
if (checkbox1.Checked)
{
Label label1 = item.FindControl("Label1") as Label;
Label label2 = item.FindControl("Label2") as Label;
Label label3 = item.FindControl("Label3") as Label;
//Response.Write(label1.Text + "|" + label2.Text + "|" + label3.Text + "<br />");
DataRow dr = dt.NewRow();
dr[0] = i++;
dr[1] = label1.Text;
dr[2] = label2.Text;
dr[3] = label3.Text;
dt.Rows.Add(dr);
}
}
第二步:DataTable->Excel
网上很多现成的例子,百度一下能出好几页;而且代码太长,就不贴了,需要的话我再贴。
第一步,Repeater->DataTable:
DataTable dt = new DataTable();
dt.Columns.Add("序号");
dt.Columns.Add("id");
dt.Columns.Add("name");
dt.Columns.Add("pass");
int i = 1;
foreach (RepeaterItem item in Repeater1.Items)
{
CheckBox checkbox1 = item.FindControl("CheckBox1") as CheckBox;
if (checkbox1.Checked)
{
Label label1 = item.FindControl("Label1") as Label;
Label label2 = item.FindControl("Label2") as Label;
Label label3 = item.FindControl("Label3") as Label;
//Response.Write(label1.Text + "|" + label2.Text + "|" + label3.Text + "<br />");
DataRow dr = dt.NewRow();
dr[0] = i++;
dr[1] = label1.Text;
dr[2] = label2.Text;
dr[3] = label3.Text;
dt.Rows.Add(dr);
}
}
第二步:DataTable->Excel
网上很多现成的例子,百度一下能出好几页;而且代码太长,就不贴了,需要的话我再贴。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询