google-apps-script - 将工作表复制到 Google 文档
问题描述
我正在尝试将包含图片的 Google 表格中的表格复制到 Google 文档中。到目前为止,我设法完成了几件事,但不是我需要的结果。
Importrange
Source Google Sheet - 带有图片的表格,由另一个 Google 表格中的公式填充。
- 通过复制
appendTable
不复制图片 - 我设法将表格导出为 pdf blob,但当时无法将其转换为常规的 Google 文档。
任何帮助表示赞赏。
function printDocument() {
var source = SpreadsheetApp.getActive();
var spreadsheetId=source.getId();
var sourcesheet = source.getSheetByName('Printable Shooting Plan');
var sheetId = sourcesheet.getSheetId();
var current_lastrow = getLastPopulatedRow(sourcesheet);
var srcData = sourcesheet.getRange('A1:G'+current_lastrow).getValues();
var parents = DriveApp.getFileById(source.getId()).getParents();
if (parents.hasNext()) {
var folder = parents.next();
}
else {
folder = DriveApp.getRootFolder();
}
var doc = DocumentApp.create("Shooting Plan");
var body = doc.getBody();
body.insertParagraph(0, 'Shooting Plan').setHeading(DocumentApp.ParagraphHeading.HEADING1).setAlignment(DocumentApp.HorizontalAlignment.CENTER);
table = body.appendTable(srcData);
table.getRow(0).editAsText().setBold(true);
// Copy doc to the directory we want it to be in. Delete it from root.
var docFile = DriveApp.getFileById(doc.getId());
folder.addFile(docFile);
DriveApp.getRootFolder().removeFile(docFile);
}
function onOpen() {
var submenu = [{name:"Save Doc", functionName:"printDocument"}];
SpreadsheetApp.getActiveSpreadsheet().addMenu('Export', submenu);
}
function getLastPopulatedRow(sheet) {
var data = sheet.getDataRange().getValues();
for (var i = data.length-1; i > 0; i--) {
for (var j = 0; j < data[0].length; j++) {
if (data[i][j]) return i+1;
}
}
return 0;
}
解决方案
推荐阅读
- postgresql - 时间尺度上的连续聚合
- javascript - 函数式编程:在 PrototypePassed JavaScript 上实现 map
- laravel - 有没有办法通过使用重写规则来隐藏和重定向 url?
- mapbox - Mapbox 方向 - 起点错误
- django-rest-framework - 在 Django Rest Auth 中使用超级用户帐户登录时,EmailAddress 匹配查询不存在
- javascript - Javascript排序函数错误:'算术运算的右侧必须是'any','number','bigint'或枚举类型'
- php - 如何防止其他网站或域下载我们的内容并通过 CURL 在其域上显示?
- wpf - ListBox ItemTemplate 中的按钮未选择项目 wpf mvvm
- macos - 如何以编程方式将 Xamrin MAC 应用程序带到前台?
- javascript - 外部方法参数上出现不需要的 propType 错误