开发组的同事在项目最关键的时候生病了,一人在领导和客户之间双线作战,苦熬两周,终于搞定了主体工作,终于有时间利用周末把这两周碰到的一些常见的问题和解决方法写下来了。
这里先说说javascript下实现Excel数据导出功能,它利用的是Excel.Application。用过之后,个人觉得该插件虽然方便,但是只能做一些相对简单的数据导出(也可能是由于本人认识有限的原因),而且相关的支持文档太少。该方式还有一个很大的局限,就是如果分页的话,这种导出的Excel数据不全面(只能也就是只能导出当前页面的数据),所以如果开发过程中时间充裕的话,还是建议利用jxl等工具,相对灵活一些。还好项目中对导出的Excel数据质量要求不高,而且数据也不要求分页显示,所以就被迫偷了个懒,凑了了。
废话说多了点,这里转入正题。在网上查了一下Excel.Application将页面数据导入到Excel的方式,总结了一下,有以下两种方式:
第一种:逐个单元格导出法(此方法操作相对复杂,但是比较灵和,适合对导出表有要求的情况)
第二种方法:整体拷贝法(该方法以较少代码实现Excel数据的导出,但是导出数据格式可能存在样式和页面不一致情况,甚至像背景色等会出现错位,而且如果在html页面中对需要导出的table样式做过设置的话,此处部分样式设置可能不会起作用)
下面为页面的的body部分
另外,对于Excel.Application使用过程中可能报“
Automation 服务器不能创建对象”的错误,对于这个问题,一般原因是IE的安全设置不允许运行未标记为安全的activeX控件,这里只需要在IE“工具->Internate选项->安全->自定义级别”里面将“对未标记为可安全执行脚本的ActiveX控件初始化并执行脚本”置为允许状态即可。