py写一个函数实现对excel某一列批量填充公式
时间: 2024-02-29 19:53:13 浏览: 163
Python脚本操作Excel实现批量替换功能
好的,以下是一个实现对 Excel 表格某一列批量填充公式的 Python 函数:
```python
import openpyxl
from openpyxl.utils import get_column_letter
def fill_formula_in_column(filename, sheetname, column, formula):
"""
在指定的 Excel 表格的指定工作表和列中批量填充公式。
:param filename: Excel 文件名。
:param sheetname: 工作表名。
:param column: 列号(从 1 开始)。
:param formula: 要填充的公式,如 "=A1+B1"。
"""
# 打开 Excel 文件
workbook = openpyxl.load_workbook(filename)
# 选择工作表
worksheet = workbook[sheetname]
# 获取需要填充公式的列
column_letter = get_column_letter(column)
column_cells = worksheet[column_letter]
# 批量填充公式
for i in range(2, len(column_cells) + 1):
cell = f"{column_letter}{i}"
worksheet[cell] = formula.replace("1", str(i))
# 保存文件
workbook.save(filename)
```
你可以将上面的代码保存到一个 Python 文件中,然后在你的代码中导入该函数并调用它。例如,假设你要将 `example.xlsx` 文件的工作表 `Sheet1` 中的第二列填充公式 `=A1+B1`,可以这样调用该函数:
```python
fill_formula_in_column("example.xlsx", "Sheet1", 2, "=A1+B1")
```
注意,该函数中的 `column` 参数是从 1 开始的列号,而不是 Excel 表格中的字母编号。所以如果你要填充的是第二列,应该将 `column` 参数设为 2。
阅读全文