11

几天前我刚开始使用 openpyxl,它是一个很棒的库。但是,对于高级功能,文档似乎很少。我有几个问题。

  1. openpyxl 似乎将我插入的公式更改为小写,从而导致来自 excel 的未知引用。
  2. 此外,我更改了工作表的名称以适应小写,但仍然找到#NAME?引用所在的单元格中的错误。

有人可以告诉我如何或在哪里找到如何从openpyxl中的另一张表中引用一个单元格

import openpyxl.Workbook
wb = Workbook()
ws = wb.get_active_sheet()
#shows up lowercase with name error in excel
ws.cell('A1).value = "$'Sheet'.E7 + 123"
#still shows a name error in excel
ws.cell('A2').value = "$'sheet'.E7 + 123"
4

2 回答 2

5

尝试这个:

from openpyxl import Workbook
wb = Workbook()

ws = wb.create_sheet()
ws.title ='NewSheet'
ws.cell('E7').value = 7

ws = wb.create_sheet()
ws.cell('A1').value = "=NewSheet!E7 + 123"

wb.save( filename = 'temp2.xlsx' )
于 2013-08-21T18:00:25.567 回答
3
from openpyxl import Workbook, utils
wb = Workbook()

ws = wb.create_sheet()
ws.title ='NewSheet'
ws.cell('E7').value = 7

ws = wb.create_sheet()
ws.cell('A1').value = f"={utils.quote_sheetname(ws.title)}!E7 + 123"

wb.save( filename = 'temp2.xlsx' )

上一个答案的问题在于它取决于工作表的标题是“NewSheet”。使用quote_sheetname()控件。

于 2019-01-17T11:55:59.250 回答