2016-10-09 3 views
1

でカラムにまたがる式を適用します。ここXSLXライターのドキュメントからの例です:はXLSXWriterダイナミックセル参照

worksheet.write_formula('A1', '=10*B1 + C1') 

は十分に簡単に見えます。 しかし、この式を 'A1:A30'に適用したいのですが?

'=10*B3 + C3' 

:どのようなセルA3であれば はまた、式を動的に更新する必要がありますか?

私はドキュメントを見ることでこれを行うことができませんでした。私はwrite_array_formulaの有望なオプションを見ていますが、配列式が欲しいとは思いません。

私はそれぞれの行と列をループするソリューションを考え出しましたが、もっと簡単な方法が必要です。

答えて

1

私はそれぞれの行と列をループするソリューションを考え出しましたが、もっと簡単な方法があると思います。

これが唯一の方法です。このようなもの:

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()