问题描述
我正在尝试让xlsxwriter在单元格中放置= BDP公式,但是当我尝试打开excel输出时结果为0.0,这会导致错误 有谁知道如何解决这一问题?谢谢!
sheet.write_formula('B3','=BDP("id","field")')
解决方法
要进行此操作,需要进行一些更改:
- 该公式必须以
_xll.
为前缀,因为它不是标准的Excel公式,并且只能通过插件使用。 - 它应该是一个数组公式。
- 公式中的字符串应双引号而不是单引号。
如果您安装了Bloomberg插件,则以下内容应该起作用:
import xlsxwriter
workbook = xlsxwriter.Workbook('test.xlsx')
worksheet = workbook.add_worksheet()
worksheet.write_array_formula('B4','_xll.BDP(LEFT(C3,LEN(C3)-1)&" Corp","Issuer")')
workbook.close()