![](/img/trans.png)
[英]openpyxl error Removed Records: Formula from /xl/worksheets/sheet1.xml
[英]Excel Error when using pandas and openpyxl: Repaired Part: /xl/worksheets/sheet1.xml part with XML error. HRESULT 0x8000ffff Line 1, column 0
我在写入 excel 文件后遇到错误。 这是我到目前为止所拥有的:
#locate source document
Path = Path(r'C:\Users\username\Test\EXCEL_Test.xlsx')
# open doc and go to active sheet
wb = load_workbook(filename = Path)
ws = wb.active
#add drop down list to each cell in a certain column
dv_v = DataValidation(type="list", formula1='"Y,N"', allow_blank=True)
for cell in ws['D']:
cell = ws.add_data_validation(dv_v)
wb.save(Path)
这些是打开 excel 文件时出现的两个错误:
第一个错误弹出窗口: “我们发现‘EXCEL_Test.xlsx’中的某些内容存在问题。您希望我们尽可能多地恢复吗?如果您信任此工作簿的来源,请单击是。”
第二个错误弹出窗口: “已修复部分:/xl/worksheets/sheet1.xml 部分出现 XML 错误。HRESULT 0x8000ffff 第 1 行,第 0 列。”
我的数据验证未显示,并且在尝试打开文件以查看 openpyxl 更改时文件出现上述错误。
也许如果有人可以帮助我找出为什么会出现这些错误? Python 以退出代码 0 结束,为什么数据验证在恢复的文件中显示为空白?
我认为您错误地使用了ws.add_data_validation(dv)
。 数据验证首先分配给 dv,然后将 dv 添加到单元格。 尝试这样做。
import openpyxl
from openpyxl import Workbook
from openpyxl.worksheet.datavalidation import DataValidation
#locate source document
Path = 'C:/Users/username/test/Excel_test.xlsx'
# open doc and go to active sheet
wb = openpyxl.load_workbook(filename = Path)
ws = wb['Sheet1']
#add drop down list to each cell in a certain column
dv = DataValidation(type="list", formula1='"Y,N"', allow_blank=True)
ws.add_data_validation(dv)
# This is the same as for the whole of column D
dv.add('D1:D1048576')
wb.save(Path)
看看这里的文档: https://openpyxl.readthedocs.io/en/stable/validation.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.