以下是XSLX Writer文档中的一个示例:
worksheet.write_formula('A1', '=10*B1 + C1')
看起来很简单。 但是,如果我想将这个公式应用于' A1:A30&#39 ;? 另外,如果在单元格A3中,公式应该动态更新为:
'=10*B3 + C3'
我从查看文档中无法做到这一点。我看到了write_array_formula的一个很有前途的选择,但我不想要一个数组公式。
我提出了一个涉及循环遍历每一行和一列的解决方案,但我希望它更简单。
答案 0 :(得分:3)
我想出了一个涉及循环遍历每一行和一列的解决方案,但我希望有一个更简单的解决方案。
这是唯一的方法。像这样:
import xlsxwriter
workbook = xlsxwriter.Workbook('test.xlsx')
worksheet = workbook.add_worksheet()
for row_num in range(1, 21):
worksheet.write_formula(row_num - 1, 0,
'=10*$B%d + $C%d' % (row_num, row_num))
# Write some data for the formula.
worksheet.write(row_num - 1, 1, row_num)
worksheet.write(row_num - 1, 2, row_num)
workbook.close()