最近解决了一个很辣手的有关excel问题,才想着要写这篇博客。
我们使用pageoffice控件查看文档,最近客户查看excel文档的时候总出现A电脑看好着,B电脑看最后一行就跑到下一页了,或者B电脑右边就显示不全了。
一开始我们想到了几种可能的原因:
1、页面缩放
2、页边距设置
3、不同excel版本问题
结果试了以后都不是这些原因导致的。后来在网上找原因,发现有可能是电脑dpi设置问题导致的,跟excel无关。
win7设置地方:控制面板-外观和个性化-显示。如下图:
我们正常的显示都是100%(默认)也就是dpi为96,而客户电脑显示为125%,也就是dpi为120,所以导致了同一个excel在两台电脑显示不同-换页问题。
可以代码实现,我们没有测试过:
在jsp页面用js调用ActiveXObject读取客户端的注册表,然后判断客户端是那种dpi,代码如下:
然后在服务端做了2个excel模板来满足不同dpi设置,这样的结果是只能在ie浏览器上使用,而且把站点加入受信任站点,然后自定义级别,设置如下: