Python 输出 Excel(.xls)用于打印,但是发现个巨坑,在 2003、2007、2016 等几个版本中,列宽显示不一致,怎么解决?

2016-06-17 12:10:40 +08:00
 gotounix
比如:在 2003 和 2016 版本中,打印在一页,但是在 2007 中,列宽就超过了 1 页了……
下图是2016中的显示效果:


到2007中就跨页了:
1691 次点击
所在节点    问与答
12 条回复
just4test
2016-06-17 12:53:48 +08:00
换个库
gotounix
2016-06-17 13:20:37 +08:00
@just4test 不是库的问题,我直接编辑一个文件,放到 2003 和 2007 里面显示都不一样。
vmebeh
2016-06-17 13:29:45 +08:00
设置过打印边距没
不同的打印机也会稍有不同
loading
2016-06-17 13:33:14 +08:00
先做好一个设置好格式的 xls,然后 xlrd 读取, xlwd 写。

没出现过异常。
gotounix
2016-06-17 13:53:33 +08:00
@loading
@vmebeh
我是做了一个空表,但是,这个空表在不同的 Excel 版本里显示就不一样,在 2003 和 2016 是在一页,但是在 2007 就分两页了。都还没开始用 python 去填数据,前面我只用 2003 和 2016 测试的时候挺好的,以为没问题,刚测了下 2007 ,就杯具了。
loading
2016-06-17 13:55:18 +08:00
请先把这个模板文件的格式设置好,手动设置好宽度。
gotounix
2016-06-17 13:57:35 +08:00
@loading 这个当然不用说了,宽度都是固定的,但是在不同版本里打开就变了。
loading
2016-06-17 14:01:34 +08:00
我这里还没安装到 2016 ,我们只有 2003 和 2007 ,授权太贵了…
loading
2016-06-17 14:02:15 +08:00
建议 xlsx
vmebeh
2016-06-17 14:06:33 +08:00
看一下左右页边距

网上看到的图 2007 的是 1.8 , 2010 的是 1.78
lynnworld
2016-06-17 14:13:08 +08:00
不同版本的默认设置不一样?
gotounix
2016-06-17 14:19:33 +08:00
@lynnworld 应该不是设置问题。
@vmebeh 不是页边距的问题。
@loading xlsx 在 03 下又支持不好, FileFormatConverters 也是转成 xls 再显示。

算了,弄成 pdf 去。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/286426

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX