使用openpyxl保存时缺少sharedStrings.xml

2024-05-06 00:41:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用libreoffice创建一个calc文件,其结构如下:

@mosby:/temp/aa/xl# ls -R
.:
[Content_Types].xml  docProps  _rels  xl

./docProps:
app.xml  core.xml  custom.xml

./_rels:

./xl:
_rels  sharedStrings.xml  styles.xml  workbook.xml  worksheets

./xl/_rels:
workbook.xml.rels

./xl/worksheets:
sheet1.xml  sheet3.xml  sheet5.xml  sheet7.xml
sheet2.xml  sheet4.xml  sheet6.xml  sheet8.xml

然后通过pythonopenpyxl我处理该文件,然后保存它

wb = load_workbook(file_name)
[...]
wb.save(file_name)

问题是sharedStrings.xml文件不见了,而其他不使用openpyxl的应用程序需要它。是否有一个开关强制openpyxl使用save中的原始结构

我用来处理calc文件的另一个工具是xml.dom.minidom,但它不允许我保存文件