repeater 导出Excel

lanbingyu1028 2011-08-13 03:03:46
repeater 导出Excel ,导出的Excel文件没有边框线怎么办
...全文
107 点赞 收藏 5
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
暖枫无敌 2011-08-13
[Quote=引用 4 楼 lanbingyu1028 的回复:]

引用 3 楼 taomanman 的回复:
C# code


protected void Excel_Click(object sender, EventArgs e)
{
Response.Clear();
//获取或设置一个值,该值指示是否缓冲输出,并在完成处理整个响应之后将其发送
Response.Buffer = true;
……

我就是这么写的,导出的Exc……
[/Quote]
那就对导出过的Excel文件重新加线吧,或是使用下面的这种方法。


<script type="text/javascript">
//导出Excel
function AllAreaExcel(objtableid) {
var oXL = new ActiveXObject("Excel.Application");
var oWB = oXL.Workbooks.Add();
var oSheet = oWB.ActiveSheet;
var sel = document.body.createTextRange();
sel.moveToElementText(document.getElementById(objtableid));
sel.select();
sel.execCommand("Copy");
oSheet.Paste();
oXL.Visible = true;
}
</script>

<div>
<table id="table">
<tr>
<td>
<asp:Repeater ID="rpt" runat="server"></asp:Repeater>
</td>
</tr>
</table>
</div>
<div style="text-align: left">
<img src="images/dcexcel.gif" onclick='AllAreaExcel("table");' alt="导出到Execl" style="cursor: hand;" />
</div>
回复
lanbingyu1028 2011-08-13
[Quote=引用 3 楼 taomanman 的回复:]
C# code


protected void Excel_Click(object sender, EventArgs e)
{
Response.Clear();
//获取或设置一个值,该值指示是否缓冲输出,并在完成处理整个响应之后将其发送
Response.Buffer = true;
……
[/Quote]
我就是这么写的,导出的Excel文件没有边框线......
回复
暖枫无敌 2011-08-13

protected void Excel_Click(object sender, EventArgs e)
{
Response.Clear();
//获取或设置一个值,该值指示是否缓冲输出,并在完成处理整个响应之后将其发送
Response.Buffer = true;
//获取或设置输出流的HTTP字符集
Response.Charset = "GB2312";
//将HTTP头添加到输出流
Response.AppendHeader("Content-Disposition", "attachment;filename=PriceManage" + DateTime.Now.Date.ToString("yyyyMMdd") + ".xls");
//获取或设置输出流的HTTP字符集
Response.ContentEncoding = System.Text.Encoding.UTF7;
//获取或设置输出流的HTTP MIME类型
Response.ContentType = "application/ms-excel";
System.IO.StringWriter onstringwriter = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter onhtmltextwriter = new System.Web.UI.HtmlTextWriter(onstringwriter);
StringWriter sw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
this.Repeater1.RenderControl(htw);
string html = sw.ToString().Trim();
Response.Output.Write(html);
Response.Flush();
Response.End();
}
public override void VerifyRenderingInServerForm(Control control)
{
//base.VerifyRenderingInServerForm(control);
}
回复
lanbingyu1028 2011-08-13
这个设置了,在页面上可以看到边框,可是导出的Excel中没有边框线
回复
happytonice 2011-08-13
在repeater中显示时要能看到边框,比如用<table>,要加上border=“1”。要不就要在Excel中设置边框了
回复
相关推荐
发帖
.NET技术其他语言
创建于2007-09-28

1834

社区成员

.NET技术 其他语言讨论
申请成为版主
帖子事件
创建了帖子
2011-08-13 03:03
社区公告
暂无公告