最近项目中要在JSP页面中使用用友华表的CELL插件制作报表,开发中发现几个需要注意的地方,在此记录一下,也与大家分享一下。
1、在调试中,JSP页面中无法显示CELL插件的原因,JSP页面中的“<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">”这句去掉,CELL插件即可正常显示在JSP中。
2、数据的动态绑定,通过JSP和JS交互来实现。
<script type="text/javascript">
function PrintTitle() //打印表头标题
{
..........
<%
if(request.getAttribute("script")!= null)
{
List list = (List)request.getAttribute("script");
int n = list.size() + 5;
%>
document.all('cellWeb').SetRows(<%=n%>,0);
document.all['cellWeb'].DrawGridLine(1,4,7,<%=n%>,0,2,-1);
<%
}
%>
}
</script>
3、CELL插件标签的引入。如果cellweb5.cab放在其他目录,可以加上相应的路径名,正确指向即可
<tr height="90%">
<td>
<OBJECT id="cellWeb" height="100%" width="100%"
classid="clsid:3F166327-8030-4881-8BD2-EA25350E574A"
CODEBASE="cellweb5.cab">
<PARAM NAME="_Version" VALUE="65536">
<PARAM NAME="_ExtentX" VALUE="18124">
<PARAM NAME="_ExtentY" VALUE="5265">
<PARAM NAME="_StockProps" VALUE="0">
</OBJECT>
</td>
</tr>
4、打印预览、保存、页面设置功能
<script type="text/javascript">
function btnPageSetupClick()
{
document.all['cellWeb'].PrintPageSetup();
}
function btnPreviewClick()
{
document.all['cellWeb'].PrintPreview(0,0);
}
function btnOutPutClick()
{
document.all['cellWeb'].SaveFile();
}
</script>
5、注册CELL插件
<script type="text/javascript">
function LoginRegister()//注册CELL
{
document.all['cellWeb'].Login("公司名","","","");//这里产品注册号略去
}
var RegisterCell= new LoginRegister();
PrintTitle();
</script>
注意:上面这段代码应该写入<body>.......</body>之间