如何使用python在Excel中编写R1C1引用(相对地址),例如(使用python)

时间:2018-07-26 17:12:43

标签: python excel openpyxl

在VBA中,我可以添加一个公式,其地址相对于“当前单元格”。例如,如果我用VBA代码编写:

#[wasm_bindgen]
pub fn remove_data(id: u32) {
    match ID_TO_DATA.lock().unwrap().remove(&id) {
        Some(mut data) => {
            unsafe {
                std::ptr::drop_in_place(&mut data);
            }
        }
        None => {}
    }
}

然后,单元格B2中的公式将为“ = F2”,因为列B + 4(列)将为列F。

在OpenPyXL中,我不能使用= RC [x]样式。在工作表单元格中写入相对引用(单元格地址)的其他方法是什么?

长选项将是计算地址并将其添加。例如

cells(2,2).formulaR1C1 = "=RC[4]"
  1. 还有另一个支持R1C1表示法的python writer模块吗?我正在尝试用Google搜索它,但这不是一个常见的话题。

  2. 在OpenPyXL中,是否有较短的方法来添加相对引用?

(公式中有数百个此类引用。)

1 个答案:

答案 0 :(得分:0)

openpyxl本身并不真正关心您在公式中输入的内容,因此您可能仅能使用已有的内容。否则,首先检查您的工作表的来源。另外,单元格具有offset方法,该方法将使openpyxl为您执行查找:

ref = cell.offset(row=2, column=-5).coordinate