一个工作簿有多张工作表 openpyxl每张工作表指定位置插入公式
时间: 2023-05-22 17:00:36 浏览: 141
可以使用 openpyxl 库中的 Worksheet 对象的 cell() 方法来指定位置插入公式。例如,假设要在第一张工作表的 A1 单元格插入公式 "=SUM(B1:B10)",可以使用以下代码:
```
from openpyxl import Workbook
# 创建工作簿和工作表
wb = Workbook()
ws1 = wb.active
ws1.title = "Sheet1"
ws2 = wb.create_sheet(title="Sheet2")
# 在 Sheet1 的 A1 单元格插入公式
ws1.cell(row=1, column=1).value = "=SUM(B1:B10)"
# 保存工作簿
wb.save("example.xlsx")
```
注意,这里使用的是 value 属性来设置公式,而不是直接设置单元格的值。这样可以告诉 openpyxl 库将该字符串解释为公式,而不是普通的文本。
相关问题
openpyxl每张工作表指定位置插入公式
可以使用 openpyxl 中的 Formula 类来实现在指定位置插入公式。具体代码如下:
```python
from openpyxl import Workbook
from openpyxl.utils import get_column_letter
from openpyxl.utils.cell import coordinate_from_string
from openpyxl.formula import Formula
# 创建一个新的工作簿
wb = Workbook()
# 获取第一个工作表
ws = wb.active
# 在 A1 单元格插入数值
ws['A1'] = 10
# 在 B1 单元格插入数值
ws['B1'] = 20
# 在 C1 单元格插入公式
ws['C1'] = Formula('A1+B1')
# 保存工作簿
wb.save('example.xlsx')
```
这段代码会在新创建的 example.xlsx 工作簿的第一个工作表中,A1 单元格插入数值 10,B1 单元格插入数值 20,C1 单元格插入公式 A1+B1。
openpyxl 指定位置插入行
要在指定位置插入行,可以使用 openpyxl 中的 `worksheet.insert_rows()` 方法。这个方法接受两个参数,第一个是要插入的行的索引,第二个是要插入的行数。例如,在第 5 行插入 3 行可以这样做:
```python
from openpyxl import Workbook
wb = Workbook()
ws = wb.active
ws.insert_rows(5, 3)
wb.save('example.xlsx')
```
这会在当前活动工作表中的第 5 行之后插入 3 行。注意,这不会覆盖现有的行,而是将它们向下移动。
阅读全文