有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java公式在更新行时丢失

我正在使用Java中的Google电子表格API来读取和更新电子表格。假设我有几个列,分别命名为A和B

A包含一个公式

B是纯文本

当我在电子表格中循环更新某些特定行时:

URL listFeedUrl = new URI(worksheet.getListFeedUrl().toString() + "?sq=somefield=" + URLEncoder.encode("\"" + somevalue+ "\"").toString()).toURL();
ListFeed listFeed = service.getFeed(listFeedUrl, ListFeed.class);

for (ListEntry row : listFeed.getEntries()) {
    if (something.compareTo(somethingelse) == 0) {
        row.getCustomElements().setValueLocal("B", request.getParameter("B"));
        row.update();
    }
}

A列中的公式丢失了。只保留公式的结果。我猜这与update()方法有关,但我读到的每一行似乎都放松了公式,而不仅仅是我执行更新的那一行。我能做些什么来保存配方?我甚至没有阅读/编辑那间牢房。。。谢谢

编辑:如documentation中所示,基于列表的提要不处理公式,但问题是,我没有读取和/或修改包含公式的单元格


共 (1) 个答案

  1. # 1 楼答案

    可以尝试先将公式保存在数组中,然后将其分配回工作表

    function myFunction() {
      sheet = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0];
      range = 'A1:A5';
      myFormulas = sheet.getRange(range).getFormulas();
      sheet.getRange(range).setFormulas(myFormulas);
     }