如何在openpyx中设置公式值

2024-05-12 19:06:06 发布

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

我试图编写一个简单的工具来处理.csv和.xlsx文件。其想法是在.csv添加一些修改时读入数据,并在添加修改的情况下导出到.xlsx。我已经完成了所有的工作,但是当我试图写入.xlsx文件(使用Python中的openpyxl)时,我遇到了一些麻烦。当我在LibreOffice Calc或Gnumeric中打开文档时,有些字段没有显示。我遇到麻烦的字段包括公式。当我单击它们时,这些公式在字段中正确键入,但字段中没有显示任何内容。如果我在公式中重新键入一个字符,它将被计算并显示值。在

我在工作表的底层.xml中翻了一番,单元格显然没有缓存。但我也注意到它并不总是有正确的数据类型。我试图通过显式地将类型设置为formula来解决这个问题,但是没有运气。在

我现在用来设置单元格的是:

cell = ws.cell(column=i,row=j)
cell.set_explicit_value(value=val,data_type=cell.TYPE_FORMULA)

Tags: 文件工具csv数据内容键入libreofficevalue