Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python XlsxWriter write_formula()不工作始终显示零(0)_Python_Excel_Excel Formula_Python 3.5 - Fatal编程技术网

Python XlsxWriter write_formula()不工作始终显示零(0)

Python XlsxWriter write_formula()不工作始终显示零(0),python,excel,excel-formula,python-3.5,Python,Excel,Excel Formula,Python 3.5,我曾与xlsxwriter合作,我尝试将简单的公式打印到表单中 import xlsxwriter workbook = xlsxwriter.Workbook('filename1.xlsx') format_val=workbook.add_format() worksheet = workbook.add_worksheet() worksheet.write(0,1,5) worksheet.write(1,1,2) worksheet.write_formula(3,0, '=SUM(

我曾与xlsxwriter合作,我尝试将简单的公式打印到表单中

import xlsxwriter
workbook = xlsxwriter.Workbook('filename1.xlsx')
format_val=workbook.add_format()
worksheet = workbook.add_worksheet()
worksheet.write(0,1,5)
worksheet.write(1,1,2)
worksheet.write_formula(3,0, '=SUM(B1:B2)')
workbook.close()
csvf = StringIO(import_file.read().decode())
当我按下=时,输出为打印7

但输出也将为零(0)。我知道XlsxWriter不会计算公式的结果,而是将值0存储为公式结果。然后,它在XLSX文件中设置一个全局标志,表示打开文件时应重新计算所有公式和函数

我试过这个。它对我有效,但当我尝试使用大写字母不起作用时,它不是一件合适的事情:~

num_formate=format_val.set_num_format('0')
worksheet.write_formula(5,1, '=2+1',num_formate,4)

但是当它打开时,如何显示计算值?

如果将
pandas.ExcelWriter
'xlsxwriter'
引擎一起使用,并使用
.save()
它,则公式与您期望的一样。对于您的情况:

import pandas as pd
writer = pd.ExcelWriter('filename1.xlsx', engine='xlsxwriter')
workbook  = writer.book
format_val=workbook.add_format()
worksheet = workbook.add_worksheet()
worksheet.write(0,1,5)
worksheet.write(1,1,2)
worksheet.write_formula(3,0, '=SUM(B1:B2)')
writer.save()
但是,此公式将写入第四行和第一列(A4)。如果需要位于第三行和第二列(B3),则应使用:

worksheet.write_formula(2,1, '=SUM(B1:B2)')

我想我知道。请尝试按LibreOffice打开输出文件。如果它能工作,问题是你的办公室不支持英语。安装英语您使用什么程序查看输出文件?Excel、OpenOffice等?我将在LibreOffice中打开该文件,但未设置值。在Excel中打开该文件时会发生什么?如果您对com组件没有限制,则可以使用win32.com api。通过它,您可以使用excel vba的所有功能。