V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
grewer
V2EX  ›  Python

Python openpyxl 样式问题

  •  
  •   grewer · 2018-03-27 12:06:35 +08:00 · 3846 次点击
    这是一个创建于 2431 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我这边想复制 模板 xlsx 的格式出来重新生成一个文,但是只运行下面几行代码:

    wb = load_workbook('./template.xlsx')
    ws = wb['Sheet1']
    wb.save('output/test.xlsx')
        
    

    新生成的单元格的填充色已经和原模板不对了,请假下各位大佬,怎么样才能生成正确的样式

    详细说明: 原模板单元格填充色是绿色 生成后没颜色了 只运行了上述代码

    这边的环境:
    Python:2.7.10 openpyxl:2.5.1 操作系统:mac

    5 条回复    2018-03-28 11:18:17 +08:00
    Tink
        1
    Tink  
       2018-03-27 12:17:20 +08:00 via iPhone
    openpyxl 需要对单元格进行单独样式定义,文档里有详细说明
    grewer
        2
    grewer  
    OP
       2018-03-27 12:25:29 +08:00
    @Tink 但是原来单元格颜色是粉红的 怎么就变成了蓝色 ,按理说应该也是没有颜色的呀
    omph
        3
    omph  
       2018-03-27 15:19:41 +08:00
    这个问题碰到过,我个人的结论是原文件单元格的颜色值不规范。当然也有可能是库的兼容性不好
    你可以把单元格的颜色值打印出来看看
    holajamc
        4
    holajamc  
       2018-03-27 18:05:40 +08:00
    我也有遇到过,是 office 版本的问题(可能仅局限于我
    以及一楼说明了对单元格进行单独样式定义,我的做法是复制(如果有更好的办法请 @
    grewer
        5
    grewer  
    OP
       2018-03-28 11:18:17 +08:00
    我发现是读取的时候就有问题,也许是库的原因,也许是不兼容,比如我每个单元格都是有 border 的但是打印出来 border 都是 None
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1087 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 22:42 · PVG 06:42 · LAX 14:42 · JFK 17:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.