【问题标题】:Excel Error when using pandas and openpyxl: Repaired Part: /xl/worksheets/sheet1.xml part with XML error. HRESULT 0x8000ffff Line 1, column 0使用 pandas 和 openpyxl 时出现 Excel 错误:已修复部分:/xl/worksheets/sheet1.xml 部分带有 XML 错误。 HRESULT 0x8000ffff 第 1 行,第 0 列
【发布时间】:2020-08-03 21:03:58
【问题描述】:

我在写入后打开 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 结束,为什么数据验证在恢复的文件中显示为空白?

【问题讨论】:

  • 我也试过这个并且在 excel 中得到了同样的错误:dv_ef = DataValidation(type="list", formula1='"Y, N"', allow_blank=True, showDropDown=True) ws。 add_data_validation(dv_ef)
  • 你还有这个问题吗?

标签: python excel pandas openpyxl


【解决方案1】:

我认为您错误地使用了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

【讨论】:

    猜你喜欢
    • 2013-12-31
    • 1970-01-01
    • 1970-01-01
    • 2013-06-03
    • 1970-01-01
    • 1970-01-01
    • 2011-07-04
    • 1970-01-01
    • 2014-01-03
    相关资源
    最近更新 更多