2017-08-24 401 views
1

我有一个excel xlsx文件,我想使用python脚本进行编辑。 我知道openpyxl无法处理数据验证,但我只想编辑包含数据验证的某些单元格的值,然后保存工作簿而不编辑这些数据验证。openpyxl:数据验证读/写无需处理

现在,当我尝试这样做,我得到一个错误:

UserWarning:数据验证扩展不支持,将是 删除

,然后我保存的文件没有按不再包含数据验证。

有没有办法告诉openpyxl在保存工作簿时不删除数据验证,即使它不能读取它?

+0

这可能不适用于openpyxl,但如果您在装有Excel的Windows PC上,则可以编写一个Python'win32com.client'来直接与文件交互。 –

回答

1

要清楚:openpyxl确实支持原始OOXML规范所涵盖的数据验证。但是,自那时以来,Microsoft已经扩展了数据验证的选项,而这些选项不受支持。您可能可以调整数据验证,以使其受到支持。

+0

感谢您的回答。 问题是我无法调整该文件的数据验证(这是我需要使用的标准文件)。所以我想我会按照Martin Evans的建议尝试win32com.client。 – basa

+0

好的,没有什么值得一提的是用于远程控制Excel的xlwings。在某些时候可能会增加对MS扩展的支持,但目前它并不是一个优先事项。但是,如果验证被完全剥离,我感到很惊讶。 –