如何在 python 单元格中写入 Excel 公式

How to write Excel formula in cells in python

我尝试在循环中的某些列中添加 Excel 公式。 简而言之:我有一个 excel 电子表格,由于循环,我在第一个列(A 和 B)中成功生成了 3000 行的随机数。 现在我想在 C 列中写下 A 与 B 相乘的公式,在 D 列中在同一个循环中添加 A + C。 非常感谢您的提前帮助!

import xlsxwriter
import os
import random


path = r"/Users/MAC/Desktop/test.xlsx"
workbook = xlsxwriter.Workbook(path)
worksheet = workbook.add_worksheet("formula")
worksheet.write(0, 0, "Amount")
worksheet.write(0, 1, "Interest")
worksheet.write(0, 2, "Fees")
worksheet.write(0, 3, "Total Amount")

for n in range(1, 3000):
    worksheet.write(n, 0, random.randint(1,150000))
    worksheet.write(n, 1, random.randint(1, 100))
    # worksheet.write(n,2, a*b/100) ??????
    # worksheet.write(n,3, a+c) ??????
workbook.close()

您可以使用 worksheet.write_formula.
示例:

for n in range(1, 10):
    worksheet.write(n, 0, random.randint(1,150000))
    worksheet.write(n, 1, random.randint(1, 100))
    cell1 = xl_rowcol_to_cell(n,0)
    cell2 = xl_rowcol_to_cell(n,1)
    worksheet.write_formula(n, 2, f'=({cell1}*{cell2})/100')
workbook.close()

其中 xl_rowcol_to_cell 将单元格从坐标转换为字符串。