一个工作簿有多张工作表 openpyxl每张工作表指定位置插入公式
时间: 2023-05-22 21:00:36 浏览: 96
可以使用 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的copy_worksheet()方法来复制一个工作表到新的工作簿中的工作表中,示例代码如下:
```python
from openpyxl import load_workbook
from openpyxl.utils import get_column_letter
# 打开源工作簿
wb_source = load_workbook(filename='source.xlsx')
# 打开目标工作簿
wb_target = load_workbook(filename='target.xlsx')
# 获取源工作簿中的工作表
ws_source = wb_source['Sheet1']
# 创建新的工作表
ws_target = wb_target.create_sheet('Sheet1')
# 复制源工作表中的数据到新的工作表中
for row in ws_source:
for cell in row:
col_letter = get_column_letter(cell.column)
ws_target['{}{}'.format(col_letter, cell.row)] = cell.value
# 保存目标工作簿
wb_target.save('target.xlsx')
```
以上代码中,我们首先打开源工作簿和目标工作簿,然后获取源工作簿中的工作表,创建新的工作表,并使用for循环将源工作表中的数据复制到新的工作表中,最后保存目标工作簿。