当前位置:编程学习 > C#/ASP.NET >>

高手救命,在ASP.NET中如何实现批量打印??

我想要打印批量客户发票收据,数据是从数据库取得的,表中有10000以上的客户,要求一次性要为每个客户要打印一张的收据。如果先生成一个网页再用Javascrpt调用打印的话,客户不多时可以用,但要打印这么多收据时,网页显示很慢很慢。更别说打印了。希望高手指点一二,小弟感激不尽!!! --------------------编程问答-------------------- 把数据导入word或excel就好了
只是个idea,没有试过 --------------------编程问答-------------------- 把数据导入word或excel再打印就不卡了吗?说详细点好吗?
在线等待 --------------------编程问答-------------------- 自已顶一下 --------------------编程问答-------------------- 在线等待..... --------------------编程问答-------------------- 你自己顶不了了吧 我帮你顶下 --------------------编程问答-------------------- 设置好打印纸张
然后用Javascript数组去打印
function yourData(name,address)
{
    this.name = name;
    this.address = address;
}
var arr = new Array();
arr[0] = new yourData("a","b");
//....
for(var i = 0 ;i<arr.legnth;i++)
{
    document.getElementById("NameID").innerHTML = arr[i].name;
    //...
    window.print();
}
alert("打印成功");

--------------------编程问答-------------------- 帮顶,期待. --------------------编程问答-------------------- 谢谢各位,参于者都有分 --------------------编程问答-------------------- 帮顶,期待..... --------------------编程问答-------------------- 如果不一次显示,则只有客户端的办法,xingdongfang(xingdongfang)是一个思路,但没有最终解决一次请求全部数据的问题。

  lz可以借鉴ajax的方法,请求一个用户的数据,用xingdongfang(xingdongfang)的方法显示并打印,打印后再请求一个数据,显示并打印......直到需要打印的都打印完。
  这样数据库中需要设置一个字段,标记是否已打印本期发票。
  同时还应提供另外一个单独打印的功能,主要用于已打印的重新打印发票。 --------------------编程问答-------------------- window.print() --------------------编程问答-------------------- 帮顶一下

也遇上同样的问题,我做的是批量套打。在本地还行,公网上运行起来速度很慢的。
还有更好的办法没?
--------------------编程问答-------------------- 顶 --------------------编程问答-------------------- 批量的还是用winform打印Webbrowser里面的网页



<html>
<head>
<meta name=vs_targetSchema content="http://schemas.microsoft.com/intellisense/ie5">
<title>***上海市眼病防治中心病人结帐费用报表***</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<!--media=print 这个属性可以在打印时有效-->
<style media=print>
.Noprint{display:none;}
.PageNext{page-break-after: always;}
</style>
<style>
body,td,th 
{
font-size: 12px;
}
.tdp
{
    border-bottom: 1 solid #000000;
    border-left:  1 solid #000000;
    border-right:  0 solid #ffffff;
    border-top: 0 solid #ffffff;
}
.tabp
{
    border-color: #000000;

border-collapse:collapse;
}
.NOPRINT {
font-family: "宋体";
font-size: 12px;
}

</style>

</head>

<body >
  <OBJECT  id=WebBrowser  classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2  height=0  width=0 VIEWASTEXT>
  </OBJECT>
<input type=button value=打印     onclick="document.all.WebBrowser.ExecWB(6,1)" class="NOPRINT">
<input type=button value=直接打印 onclick="document.all.WebBrowser.ExecWB(6,6)" class="NOPRINT">
<input type=button value=页面设置 onclick="document.all.WebBrowser.ExecWB(8,1)" class="NOPRINT">
<input type=button value=打印预览 onclick="document.all.WebBrowser.ExecWB(7,1)" class="NOPRINT">
  <br/>
<table width="90%" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr align="center"> 
    <td colspan="5"><font size="3">上海市眼病防治中心病人结帐费用报表(A) </font></td>
  </tr>
  <tr> 
    <td>汇总人次 5</td>
    <td>费用合计 15853.12</td>
    <td>统计日期 </td>
    <td>制表人 023</td>
    <td>制表日期:2004-05-13</td>
  </tr>
</table>



<table width="90%" border="1" align="center" cellpadding="2" cellspacing="0" bordercolor="#000000"  class="tabp">
  <tr> 
    <td   >姓名</td>
    <td   >住院号</td>
    <td   >科室</td>
    <td   >结帐日期</td>
    <td   >出院日期</td>
    <td   >费用合计</td>
    <td   >医保交易费用</td>
    <td   >分类给付费用</td>
    <td   >非医保交易费</td>
    <td   > </td>
    <td   > </td>
    <td   > </td>
    <td   > </td>
    <td   > </td>
    <td   > </td>

  </tr>
  <tr>
    <td   > </td>
    <td   > </td>
    <td   > </td>
    <td   > </td>
    <td   > </td>
    <td   > </td>
    <td   > </td>
    <td   > </td>
    <td   > </td>
    <td   > </td>
    <td   > </td>
    <td   > </td>
    <td   > </td>
    <td   > </td>

  </tr>
</table>
<hr align="center" width="90%" size="1" noshade class="NOPRINT" >
<!--分页-->
<div class="PageNext"></div>
<table width="90%" border="1" align="center" cellpadding="2" cellspacing="0" bordercolor="#000000"  class="tabp">
  <tr>
    <td >第2页</td>
  </tr>
  <tr>
    <td >看到分页了吧</td>
  </tr>
  <tr>
    <td > </td>
  </tr>
  <tr>
    <td > </td>
  </tr>
  <tr>
    <td ><table width="100%"  border="0" cellspacing="0" cellpadding="0">
        <tr>
          <td width="50%" >这样的报表
              对一般的要求就够了。</td>
          <td> </td>
        </tr>
    </table></td>
  </tr>
</table>
</body>
</html>



--------------------编程问答-------------------- 请问楼主,那你的批量打印导入Excel是怎么实现的,能不能给些源代码,我的邮箱是215944907@qq.com,谢谢了,还有这个是怎么用function yourData(name,address)
{
    this.name = name;
    this.address = address;
}
var arr = new Array();
arr[0] = new yourData("a","b");
//....
for(var i = 0 ;i<arr.legnth;i++)
{
    document.getElementById("NameID").innerHTML = arr[i].name;
    //...
    window.print();
}
alert("打印成功");
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,