使用openpyxl

时间:2017-08-04 20:20:00

标签: python openpyxl

我正在尝试使用openpyxl读取格式正确的xlsx文件,并使用一些填充了特定值的字段创建一个副本。原始文件对其有保护(大多数单元被锁定)。此外,许多单元格合并在一起,一些是水平的,一些是垂直的。保存这样的锁定/合并/格式化单元格是否存在已知问题?我知道openpyxl确实支持细胞保护,但我不清楚其局限性。我正在尝试预填充的所有字段都已解锁。

作为测试,我加载了工作簿,除了将其保存到新文件之外,只需执行以下操作:

wb = load_workbook(src_file)
wb.save(out_file)

我仍然丢失了大部分格式。它仍然存在于某些单元格中,但其他单元格则会丢失。此外,除一个单元外的所有单元都被错误锁定。我正在附上之前和之后的图像。

before

after

我可以在正确的单元格中获得正确的值,但在格式化问题之上,单元格的锁定/解锁状态再次存在不一致。

有没有人对此有所了解,或者我遇到过openpyxl的限制?

更新:似乎格式化问题是stovfl提及的已知问题。我进一步查看了工作表,唯一一个保持正确解锁的单元格,如输入表单中的单个非合并单元格。因此,我将假设锁定问题是合并单元格问题的直接结果。

0 个答案:

没有答案