WEB页面同时实现两种打印(下载Excel,页面直接打印)

1,下载Excel(参考昊子收藏夹)

 1 None.gif          public   void  PrintTable(System.Web.UI.WebControls.Table table)
 2 ExpandedBlockStart.gifContractedBlock.gif         dot.gif {
 3InBlock.gif            System.IO.StringWriter SW=new System.IO.StringWriter();
 4InBlock.gif            foreach(TableRow r in table.Rows)
 5ExpandedSubBlockStart.gifContractedSubBlock.gif            dot.gif{
 6InBlock.gif                foreach(TableCell c in r.Cells)
 7ExpandedSubBlockStart.gifContractedSubBlock.gif                dot.gif{
 8InBlock.gif                    SW.Write(c.Text+"\t");
 9ExpandedSubBlockEnd.gif                }

10InBlock.gif                SW.Write("\n");
11ExpandedSubBlockEnd.gif            }

12InBlock.gif            SW.Close();
13InBlock.gif            Response.AddHeader("Content-Disposition""attachment; filename=Table.xls"); 
14InBlock.gif            Response.ContentType = "application/ms-excel"
15InBlock.gif            Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312"); 
16InBlock.gif            Response.Write(SW); 
17InBlock.gif            Response.End();
18ExpandedBlockEnd.gif        }
None.gif          private   void  BtnPrint_Click( object  sender, System.EventArgs e)
ExpandedBlockStart.gifContractedBlock.gif        
dot.gif {
InBlock.gif            BtnSubmit_Click(sender,e);
InBlock.gif            PrintTable(Table1);
ExpandedBlockEnd.gif        }

因为最开始用的是Table输出,无法返回StateView,所以提交打印的时候需要重新输出一遍Table的内容(效率很低)然后从Table中把内容导出并输出到客户端

2,页面直接打印

在打印页面添加html代码

ExpandedBlockStart.gif ContractedBlock.gif < STYLE  media =print > dot.gif  
ExpandedSubBlockStart.gifContractedSubBlock.gif.Noprint
{dot.gif}{display:none;} 
ExpandedSubBlockStart.gifContractedSubBlock.gif.PageNext
{dot.gif}{page-break-after: always;} 
None.gif
</ STYLE >  
然后在导航内容加上Class属性

None.gif < table  cellSpacing ="0"  cellPadding ="0"  width ="100%"  border ="0"  class =noprint >
这样可以只输出报表,而不打印导航栏内容

在页面添加WebBrowser对象

None.gif      < OBJECT  id =WebBrowser  height =0  width =0  classid =CLSID:8856F961-340A-11D0-A96B-00C04FD705A2  VIEWASTEXT >   </ OBJECT >
None.gif

注意有时VS会自动添加对象的参数,如果使用对象的页出错,请删除自动添加的参数值
添加按钮

None.gif < INPUT  TYPE =button  VALUE =打印页面  onclick =document.all.WebBrowser.ExecWB(7,1) >

其实是打印预览按钮

注意事项
1,点击过下载Excel按钮之后再点打印页面会出错,客户端会提示"错误: 没有权限",不知道为什么

2,使用WebBrowser对象时要求客户端设置“对没有标记为安全的ActiveX控件进行初始化”

转载于:https://www.cnblogs.com/pblee/archive/2005/11/11/273659.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值