python - 如何使用python在excel中编写R1C1引用(相对地址),例如(使用python)
问题描述
在 VBA 中,我可以添加一个地址相对于“当前单元格”的公式。例如,如果我写(在 VBA 代码中):
cells(2,2).formulaR1C1 = "=RC[4]"
那么单元格 B2 中的公式将是“=F2”,因为 B + 4 列(列)将是 F 列。
在 OpenPyXL 中,我不能使用 =RC[x] 样式。在工作表单元格中写入相对 REFERENCE(单元格地址)的替代方法是什么?
长选项是计算地址并添加它。例如
col = 2
row = 2
letter = column_letter(col + 4)
address = letter + str(row)
cell(x,y) = "=" + address
是否有另一个支持 R1C1 表示法的 python 编写器模块?我正在尝试用谷歌搜索它,但这不是一个常见的话题。
在 OpenPyXL 中,是否有更短的方法来添加相对引用?
(我在公式中有数百个这样的引用。)
解决方案
openpyxl 本身并不真正关心您在公式中输入的内容,因此您可能只能使用您拥有的内容。否则,首先检查您拥有的工作表的来源。单元格还有一个偏移方法,可以让 openpyxl 为您进行查找:
ref = cell.offset(row=2, column=-5).coordinate
推荐阅读
- php - php 发送到电子邮件表单
- matlab - 具有不同数据类型的 Matlab cell2mat
- c - sqlite 是否忽略 SQLITE_DEFAULT_SYNCHRONOUS 定义?
- java - RecyclerView:列表和适配器为空
- java - 尽管 --no-sandbox 选项,Chromedriver 不会以 root 身份运行
- ember.js - 删除 index.html 中为 ember 引擎创建的元标记
- automata - 当且仅当 L 是回文语言时,L^R = L 是真的吗?
- c# - 有没有更优雅的方法来自动调整标签字体大小?
- react-native - 将 Native Base 与 React Native 元素结合使用
- python - 在 pandas 中用 group by 取最后 n 个元素的平均值