【问题标题】:Table form spreadsheet to doc表格表格电子表格到文档
【发布时间】:2022-11-28 09:06:33
【问题描述】:

我有一个电子表格,其中包含可用于以下内容的单元格:A14:E。 我有一个文档模板,我想用准确的格式复制这张表。 在电子表格中,我将 A14:E 命名为“Tabel_angajati”

var ss = SpreadsheetApp.getActiveSpreadsheet();
var Tabel_angajati = ss.getRangeByName('Tabel_angajati').getValues();

//google doc

let copyFile = DriveApp.getFileById("template-id").makeCopy(),
        copyID = copyFile.getId(),
        copyDoc = DocumentApp.openById(copyID),
        copyBody = copyDoc.getBody(),
        copyHeader = copyDoc.getHeader()

//Replace text

const body = copyDoc.getBody()
body.replaceText("{{Tabel_angajati}}",Tabel_angajati) 

当我运行此脚本时,文档中的表格是一行值,而不是表格。

【问题讨论】:

  • 当您提取 .getValues() 时,您将获得原始数据数组。您是否希望格式也存在?
  • 另外,你能更清楚地说明你的条款吗? Google 表格没有 table 对象(而 Excel 有,这令人困惑),但是 Google文档确实有桌子。那么你是想在文档中插入一个实际的表格吗?

标签: google-apps-script google-sheets spreadsheet google-docs


【解决方案1】:

修改点:

  • 在您的脚本中,replaceText(searchPattern, replacement)replacement 是字符串类型。 getValues() 检索到的值是一个二维数组。在这种情况下,当这个二维数组用于replacement时,似乎使用了toString()。这样,就会出现a line of values。我认为这可能是您遇到问题的原因。

  • 在您的脚本中,这些值由getValues() 检索。在这种情况下,我认为getDisplayValues() 可能是合适的。

当这些点反映在示例脚本中时,下面的示例脚本如何?

示例脚本:

function myFunction() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var Tabel_angajati = ss.getRangeByName('Tabel_angajati').getDisplayValues();

  var copyFile = DriveApp.getFileById("template-id").makeCopy(); // Please set your Document ID.
  var copyID = copyFile.getId();
  var copyDoc = DocumentApp.openById(copyID);

  var body = copyDoc.getBody();
  var search = "{{Tabel_angajati}}";
  var s = body.findText(search);
  while (s) {
    var e = s.getElement();
    const i = body.getChildIndex(e.getParent());
    e.removeFromParent();
    body.insertTable(i, Tabel_angajati);
    s = body.findText(search, s);
  }
}
  • 运行此脚本时,将检索Tabel_angajati 命名范围内的值,并将一个表放入{{Tabel_angajati}} 作为替换。

参考:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-29
    • 2014-07-01
    相关资源
    最近更新 更多