Python openpyxl 样式问题

2018-03-27 12:06:35 +08:00
 grewer

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

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

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

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

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

3868 次点击
所在节点    Python
5 条回复
Tink
2018-03-27 12:17:20 +08:00
openpyxl 需要对单元格进行单独样式定义,文档里有详细说明
grewer
2018-03-27 12:25:29 +08:00
@Tink 但是原来单元格颜色是粉红的 怎么就变成了蓝色 ,按理说应该也是没有颜色的呀
omph
2018-03-27 15:19:41 +08:00
这个问题碰到过,我个人的结论是原文件单元格的颜色值不规范。当然也有可能是库的兼容性不好
你可以把单元格的颜色值打印出来看看
holajamc
2018-03-27 18:05:40 +08:00
我也有遇到过,是 office 版本的问题(可能仅局限于我
以及一楼说明了对单元格进行单独样式定义,我的做法是复制(如果有更好的办法请 @
grewer
2018-03-28 11:18:17 +08:00
我发现是读取的时候就有问题,也许是库的原因,也许是不兼容,比如我每个单元格都是有 border 的但是打印出来 border 都是 None

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

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

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

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

© 2021 V2EX