鱼C论坛

 找回密码
 立即注册
查看: 2559|回复: 6

[已解决]openpyxl问题

[复制链接]
发表于 2020-10-4 20:54:11 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
为什么我运行下面代码会报错:
# -*- coding: utf-8 -*-

import openpyxl
from openpyxl.styles import PatternFill

orange = PatternFill(fill_type=None, start_color='#FFA100')

wb = openpyxl.load_workbook(filename="计划表.xlsx")

ws = wb.active

ws.title = "计划表"

ws["A1"].fill = orange
报错内容:
Traceback (most recent call last):
  File "D:/files/Aaron/编程/code/python/PycharmProjects/计划表管理/main.py", line 6, in <module>
    orange = PatternFill(fill_type=None, start_color=(0, 255, 161, 0))
  File "D:\files\Aaron\编程\code\python\PycharmProjects\计划表管理\venv\lib\site-packages\openpyxl\styles\fills.py", line 91, in __init__
    self.fgColor = fgColor
  File "D:\files\Aaron\编程\code\python\PycharmProjects\计划表管理\venv\lib\site-packages\openpyxl\styles\colors.py", line 134, in __set__
    super(ColorDescriptor, self).__set__(instance, value)
  File "D:\files\Aaron\编程\code\python\PycharmProjects\计划表管理\venv\lib\site-packages\openpyxl\descriptors\base.py", line 42, in __set__
    raise TypeError('expected ' + str(self.expected_type))
TypeError: expected <class 'openpyxl.styles.colors.Color'>

Process finished with exit code 1
最佳答案
2020-10-4 21:10:56
和你这个fill_type有关吧,而且最后要保存
# -*- coding: utf-8 -*-

import openpyxl
from openpyxl.styles import PatternFill

orange = PatternFill(fill_type="solid",  start_color='DC143C')

wb = openpyxl.load_workbook(filename="1.xlsx")

ws = wb.active

#ws.title = "计划表"

ws["B1"].fill = orange
ws['B1'].value='1'
wb.save("1.xlsx")
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-10-4 21:04:32 | 显示全部楼层
# -*- coding: utf-8 -*-

import openpyxl
from openpyxl.styles import PatternFill
from openpyxl.styles.colors import Color

orange = PatternFill(fill_type=None, start_color=Color('00FFA100'))

wb = openpyxl.load_workbook(filename="计划表.xlsx")

ws = wb.active

ws.title = "计划表"

ws["A1"].fill = orange
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-10-4 21:06:39 | 显示全部楼层

又报错了:
Traceback (most recent call last):
  File "D:/files/Aaron/编程/code/python/PycharmProjects/计划表管理/main.py", line 9, in <module>
    wb = openpyxl.load_workbook(filename="计划表.xlsx")
  File "D:\files\Aaron\编程\code\python\PycharmProjects\计划表管理\venv\lib\site-packages\openpyxl\reader\excel.py", line 314, in load_workbook
    data_only, keep_links)
  File "D:\files\Aaron\编程\code\python\PycharmProjects\计划表管理\venv\lib\site-packages\openpyxl\reader\excel.py", line 124, in __init__
    self.archive = _validate_archive(fn)
  File "D:\files\Aaron\编程\code\python\PycharmProjects\计划表管理\venv\lib\site-packages\openpyxl\reader\excel.py", line 96, in _validate_archive
    archive = ZipFile(filename, 'r')
  File "C:\Users\Aaron\AppData\Local\Programs\Python\Python37-32\lib\zipfile.py", line 1222, in __init__
    self._RealGetContents()
  File "C:\Users\Aaron\AppData\Local\Programs\Python\Python37-32\lib\zipfile.py", line 1289, in _RealGetContents
    raise BadZipFile("File is not a zip file")
zipfile.BadZipFile: File is not a zip file

Process finished with exit code 1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-4 21:09:03 | 显示全部楼层

你的 计划表.xlsx 是否能正常打开?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-4 21:10:56 | 显示全部楼层    本楼为最佳答案   
和你这个fill_type有关吧,而且最后要保存
# -*- coding: utf-8 -*-

import openpyxl
from openpyxl.styles import PatternFill

orange = PatternFill(fill_type="solid",  start_color='DC143C')

wb = openpyxl.load_workbook(filename="1.xlsx")

ws = wb.active

#ws.title = "计划表"

ws["B1"].fill = orange
ws['B1'].value='1'
wb.save("1.xlsx")
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-10-4 21:11:16 | 显示全部楼层
zltzlt 发表于 2020-10-4 21:09
你的 计划表.xlsx 是否能正常打开?

修复了,重新创建了一个工作簿,成功了,感谢!
但又出现了一个问题:为什么单元格A1并没有变成橙色?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-6 21:05:38 | 显示全部楼层
这个帖子不打算结一下么。。。。。。。。。。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-18 11:02

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表