javascript - “TypeError:无法读取未定义的属性‘长度’”使用 Google Apps 脚本将 Google 表格数据转换为 Google Doc 模板
问题描述
包含文件的 Google 工作表文件夹:https ://drive.google.com/drive/folders/1hPKQk7eRjSdlMDjiZI2BZrHIRhzVtYG5?usp=sharing
我试图使用我的测试合并谷歌工作表文件中的数据填写谷歌文档中的模板,特别是在名为“PrintThis”的选项卡中。我在我的“测试合并”谷歌工作表文件中添加了一个 Google Apps 脚本,但我收到此错误:“TypeError:无法读取未定义的属性‘长度’”。PrintThis 中的数据的行数会有所不同,所以我猜测错误是由这一行引起的?
var tactics = Sheets.Spreadsheets.Values.get('1xSWskGS8B_3Y35I4ycAjFZQiGbfJo13O3837RKnxnpk', 'A4:J');
但是当我做 A4:J6 只是为了测试这个静态数据集时,它仍然给我同样的错误。如何解决此问题,即使 PrintThis 选项卡具有动态行数并且我的 PrintThis 选项卡可以移动(例如,可以将新工作表/选项卡放置在 PrintThis 选项卡的左侧或右侧)?
解决方案
如果您想使用 Sheets API 获取“Test Merge”的值,请确保将工作表名称与范围一起添加。示例:“测试合并!A4:J”
例子:
代码:
function myFunction() {
Logger.log(Sheets.Spreadsheets.Values.get('somespreadsheetid', 'Test Merge!A4:J').values);
}
输出:
或者
由于您使用的是 Google Apps 脚本,因此您可以使用SpreadsheetApp
.
代码:
function myFunction() {
var sh = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Test Merge");
var range = sh.getRange(4, 1, sh.getLastRow() - 4 + 1, 10);
var val = range.getValues();
Logger.log(val)
}
输出:
参考:
推荐阅读
- ruby-on-rails - 将 webpacker 从 4.2.2 升级到 5.0.1 不再运行 yarn install before assets:precompile
- python - Pyqtgraph ImageView 在 QSlider 值更改后未更新
- c++ - c++ 抵押贷款计算器
- excel - 循环遍历列表以为列表中的每个客户创建一个 CSV
- nlp - NLP 中的语义相似性(文本比较) - 最佳软件包还是云服务?
- android - 单击 Web 推送通知时打开 PWA/网站
- python - 为什么 Pyparsing 在第一个元素之后停止解析?
- android - 错误:
为双向数据绑定设置绑定适配器时期望 - r - 如何为 R 中具有 NA 的多列正确执行 wilcox.test?
- javascript - Angular 8 中的条件顺序