gotounix
V2EX  ›  问与答

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

  •  
  •   gotounix · Jun 17, 2016 · 2497 views
    This topic created in 3796 days ago, the information mentioned may be changed or developed.
    比如:在 2003 和 2016 版本中,打印在一页,但是在 2007 中,列宽就超过了 1 页了……
    下图是2016中的显示效果:


    到2007中就跨页了:
    12 replies  •  2016-06-17 14:19:33 +08:00
    just4test
    just4test
    Jun 17, 2016
    1
    换个库
    gotounix
    gotounix
    OP
    Jun 17, 2016
    2
    @just4test 不是库的问题,我直接编辑一个文件,放到 2003 和 2007 里面显示都不一样。
    vmebeh
    vmebeh
    Jun 17, 2016
    3
    设置过打印边距没
    不同的打印机也会稍有不同
    loading
    loading
    Jun 17, 2016 via Android
    4
    先做好一个设置好格式的 xls,然后 xlrd 读取, xlwd 写。

    没出现过异常。
    gotounix
    gotounix
    OP
    Jun 17, 2016
    5
    @loading
    @vmebeh
    我是做了一个空表,但是,这个空表在不同的 Excel 版本里显示就不一样,在 2003 和 2016 是在一页,但是在 2007 就分两页了。都还没开始用 python 去填数据,前面我只用 2003 和 2016 测试的时候挺好的,以为没问题,刚测了下 2007 ,就杯具了。
    loading
    loading
    Jun 17, 2016 via Android
    6
    请先把这个模板文件的格式设置好,手动设置好宽度。
    gotounix
    gotounix
    OP
    Jun 17, 2016
    7
    @loading 这个当然不用说了,宽度都是固定的,但是在不同版本里打开就变了。
    loading
    loading
    Jun 17, 2016 via Android
    8
    我这里还没安装到 2016 ,我们只有 2003 和 2007 ,授权太贵了…
    loading
    loading
    Jun 17, 2016 via Android
    9
    建议 xlsx
    vmebeh
    vmebeh
    Jun 17, 2016
    10
    看一下左右页边距

    网上看到的图 2007 的是 1.8 , 2010 的是 1.78
    lynnworld
    lynnworld
    Jun 17, 2016
    11
    不同版本的默认设置不一样?
    gotounix
    gotounix
    OP
    Jun 17, 2016
    12
    @lynnworld 应该不是设置问题。
    @vmebeh 不是页边距的问题。
    @loading xlsx 在 03 下又支持不好, FileFormatConverters 也是转成 xls 再显示。

    算了,弄成 pdf 去。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   712 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 17:42 · PVG 01:42 · LAX 09:42 · JFK 12:42
    ♥ Do have faith in what you're doing.