xlsxwriter:在i中添加其他工作表的公式

2024-04-29 15:10:00 发布

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

我尝试用xlsxwriter python插件创建XLSX文件。 在这个XLSX中,我有两张纸:

  • 分析:包含包含信息的表格
  • Stat:包含一些信息和2个公式

这两个公式是:

=NBVAL(Analyse!C:C)-1
=NB.SI(Analyse!D:D;"To change")

我的问题是当我打开生成的文件时,我有一个错误。公式也不管用。如果我编辑公式并按Enter键,它就可以工作了。在

我的代码:

^{pr2}$

当我打开XML错误报告时。我有这个:

<?xml version="1.0" encoding="UTF-8" standalone="true"?>
<recoveryLog xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main">
  <logFileName>error056160_04.xml</logFileName>
  <summary>Des erreurs ont été détectées dans le fichier « L:\UNMS\InputBEB\Output\UNMSViewer\public_html\Data\XLSX\todo\A6S54300.xlsx »</summary>
  <removedRecords summary="Liste des enregistrements supprimés ci-dessous :">  
    <removedRecord>Enregistrements supprimés: Formule dans la partie /xl/worksheets/sheet2.xml</removedRecord>
    </removedRecords>
</recoveryLog>

Tags: 文件插件信息xmlsummaryxlsx公式xlsxwriter
2条回答

问题可能是公式函数名是法语,但Excel希望它存储/写入English。至少在XlsxWriter编写的文件中。在

试试这个:

shInfo.write('G3','=COUNTA(Analyse!C:C)-1',information)
shInfo.write('G5','=COUNTIF(Analyse!D:D,"To change")',information)

如果有可能的话,我会用一个小版本的Excel文件来表示你可以用一个小版本的Excel文件来写。在

更新:公式COUNTIF()也需要使用美式逗号运算符,而不是;更新2:根据@gatchan提供的示例文件,文件中没有语言标识符。保存公式时,通过Excel将公式转换为英语和美式逗号运算符。在

您应该使用write_formula(),而不是write()方法:

shInfo.write_formula('G3','=NBVAL(Analyse!C:C)-1',information)
shInfo.write_formula('G5','=NB.SI(Analyse!D:D;"To change")',information)

相关问题 更多 >