明确得说,不用ActiveXObject是不可能的,而且用ActiveXObject还很麻烦,问题又多
建议采用以下方案:
先用 poi 或者 jxl 将excel 内容读取出来,显示在页面上
然后在页面底部增加一段js
<script type="text/javascript">window.print()
</script>
这个方案必须把页面做成跟excel打印出来的页面风格很像,像到以假乱真,让客户看不出来,这样的话客户以为是直接用excel来预览,效果做到争取跟excel打印出来一模一样。这样做
满足了客户的需求,客户才不管你是不是真的用excel来预览,他只关心预览的样子是不是跟最后打印出来的一样
你也实现了功能
报表打印不是调用JS完成的,而是通过Java操作Excel进行报表打印的,常用的一般为POI比较多。功能较为强大,包括数据的导入到处,都可以完成,需要的话扣我给你例子,你对照着改改就可以导出数据,并且已经设置好Excel的样式了解决步骤如下。
打印预览;在需要打印的表格先点击打印预览,看下自己需要打印的内容是否都完整的在一页一页上面。
选择页面布局;预览之后都完整,开始进行打印标题操作。选择页面布局之后点击里面打印标题。
打印区域选择;点击打印标题后会出现一个页面设置框,选择里面工作表,点击打印顶端标题。这里要注意下是顶端标题不要选择错了。
顶端标题选择;点击打印顶端标题箭头后出现一条小框,在你刚才需要打印excel表格里面选择第一行标题,在小框里面就会出现$1:$1,意思就是选择了要打印的顶端标题区域。
确认标题;选择好打印区域后,点击小框旁边键就返回到页面设置框,就看到顶端标题已经有了,点击确定。
预览完成;确认好后再次预览,翻到后面几页看下就已经有顶端标题了。如果要打印前面两行标题,就在选择区域的时候选择前面2行就可以了!最后再完成打印就可以了。