注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

北漂的小羊

Java编程,开发者,程序员,软件开发,编程,代码。新浪微博号:IT国子监

 
 
 

日志

 
 
关于我

在这里是面向程序员的高品质IT技术学习社区,是程序员学习成长的地方。让我们更好地用技术改变世界。请关注新浪微博号: IT国子监(http://weibo.com/itguozijian)

网易考拉推荐

cell插件在j2ee系统中的应用  

2012-10-13 11:53:33|  分类: 软件开发 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
cell插件在j2ee系统中的应用

 在基于j2ee平台的信息系统中,具有丰富表现能力的java applet是界面层的一种重要形式。但java api对打印的支持比较弱,打印输出复杂的单据和报表需要大量工作。本文介绍的系统通过引入一个activex控件--cell插件--来解决这个问题。由cell插件完成打印输出,两者之间通过sun公司的一套接口api互相通信。 

 

下面我们开始对cell报表的第一个实例

 

第一步:需要下载cell相关的插件。

地址:http://download.csdn.net/detail/yuwenfeng2000/2645991

第二步:在页面中增加object对象

定位到一个位置中

 

Js代码 
  1. document.getElementById("main_center").innerHTML=docXml();  
 

 

docXml()代码:

 

Js代码 
  1. <xml id='xmlDoc'></xml>  
  2.     <div><OBJECT ID='cell' WIDTH='100%' HEIGHT='95%' CLASSID='CLSID:3F166327-8030-4881-8BD2-EA25350E574A'>  
  3. <PARAM NAME='_Version' VALUE='65536'>  
  4. <PARAM NAME='_ExtentX' VALUE='14182'>  
  5. <PARAM NAME='_ExtentY' VALUE='7197'>  
  6. <PARAM NAME='_StockProps' VALUE='0'>  
  7. </OBJECT>  
  8. </div>  

 第三步:读取返回xml文件

 

Js代码 
  1. var xmlDoc=new ActiveXObject("Microsoft.XMLDOM");  
  2. xmlDoc.async = false;                
  3. xmlDoc.loadXML(xmlHttp.responseText);  //java版本,返回信息
  4. //如果在xml直接写的话,可以直接使用xmlDoc.load(“dome.xml”);形式
  5.   
  6. Xml格式:  
  7. <?xml version="1.0" encoding="GBK"?>  
  8. <Report>  
  9.   <CellFile>../../modelcell/model.cll</CellFile>  
  10.   <SqlQuery>  
  11.     <Row>  
  12.       <number></number>  
  13.       <name>名称</name>  
  14.     </Row>  
  15.     <Row>  
  16.       <number>1</number>  
  17.       <name>天涯草的博客</name>  
  18.     </Row>  
  19.     <Row>  
  20.       <number>2</number>  
  21.       <name>欢迎访问</name>  
  22.     </Row>  
  23.   </SqlQuery>  
  24.   <Cols>  
  25.     <Col Index="1" DataField="number" width="50" DataType="S" />  
  26.     <Col Index="2" DataField="name" width="100" DataType="S" />  
  27.   </Cols>  
  28.   <StartRow>3</StartRow>  
  29. </Report>  

 第四步:初始化xml数据

 

 

Js代码 
  1. OpenCellFromXml(xmlDoc.documentElement);  

 初始化xml参数

 

Js代码 
  1. <span style="white-space: pre;">        </span>var datas = root.selectSingleNode("SqlQuery");  
  2. var cols = root.selectSingleNode("Cols");  
  3. var startrow = root.selectSingleNode("StartRow").text;  
  4. cell.OpenFile(root.selectSingleNode("CellFile").text,"");  
  5. var  colLength=cols.childNodes.length;  
  6. var rowLength=datas.childNodes.length;  

 第五步:向cell报表中写数据

 

Js代码 
  1. var row = 1;  
  2. cell.MergeCells(1,1,11,2);  
  3. cell.S(1, 1, 0, "学习cell报表实例");  
  4.       
  5. for(var i = 0; i < rowLength; i ++)  
  6. {  
  7.     row ++;  
  8.     var rownode = datas.childNodes[i];  
  9.     for(var j = 0; j < colLength; j ++)  
  10.     {  
  11.         var colnode = cols.childNodes[j];  
  12.         var dataField = colnode.attributes.getNamedItem ("DataField").value;  
  13.         var cellnode = rownode.selectSingleNode(dataField);       
  14.         var content = cellnode.text;  
  15.         cell.S(j+1, row, 0, content);  
  16.     }  
  17. }  

 最后的效果图:

cell插件在j2ee系统中的应用 - 天涯草 - 天涯草
 
 
在接下来将介绍cell的其它应用

  评论这张
 
阅读(211)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016