鱼C论坛

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

[已解决]openpyxl问题

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

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

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

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

  2. import openpyxl
  3. from openpyxl.styles import PatternFill

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

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

  6. ws = wb.active

  7. ws.title = "计划表"

  8. ws["A1"].fill = orange
复制代码

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

  11. Process finished with exit code 1
复制代码

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

  2. import openpyxl
  3. from openpyxl.styles import PatternFill

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

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

  6. ws = wb.active

  7. #ws.title = "计划表"

  8. ws["B1"].fill = orange
  9. ws['B1'].value='1'
  10. wb.save("1.xlsx")
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

  2. import openpyxl
  3. from openpyxl.styles import PatternFill
  4. from openpyxl.styles.colors import Color

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

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

  7. ws = wb.active

  8. ws.title = "计划表"

  9. ws["A1"].fill = orange
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

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

  15. Process finished with exit code 1
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

你的 计划表.xlsx 是否能正常打开?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

  2. import openpyxl
  3. from openpyxl.styles import PatternFill

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

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

  6. ws = wb.active

  7. #ws.title = "计划表"

  8. ws["B1"].fill = orange
  9. ws['B1'].value='1'
  10. wb.save("1.xlsx")
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

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

使用道具 举报

发表于 2020-10-6 21:05:38 | 显示全部楼层
这个帖子不打算结一下么。。。。。。。。。。。。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-28 00:13

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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