javascript - 我正在尝试复制条带格式或仅适用于可见数据,Google Sheets Script
问题描述
我有一个正在处理的电子表格,我正在编写一个代码来复制选择的选项卡并将它们作为值/格式粘贴到一个新的工作簿中,我可以与用户共享并允许他们编辑一些字段。我需要将数据移动到新工作表,因为我的数据表包含QUERY()
我不希望用户能够破坏的功能,但我希望用户能够根据需要过滤和添加注释。我无法正常工作的最后一步是条带/交替颜色格式。他们显然没有保存为背景颜色,因此不会复制过来。
function exportToDashboard() {
var fromSpreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var toSpreadsheet = SpreadsheetApp.openByUrl(
"myURL"
);
var fromSheet = fromSpreadsheet.getSheetByName("Contact Summary.DASH");
var toSheet = toSpreadsheet.getSheetByName("Contact Summary.DASH");
var fromRange = fromSheet.getRange("A1:E");
var values = fromRange.getValues();
// var banding = fromRange.getBandings();
var colors = fromRange.getFontColors();
var fontstyle = fromRange.getFontWeights();
var fontsizes = fromRange.getFontSizes();
var toRange = toSheet.getRange(1,1,values.length,values[0].length);
toRange.clearContent();
toRange.getBandings().forEach(function (banding) {
banding.remove();
});
toRange.setValues(values);
// toRange.applyRowBanding(SpreadsheetApp.BandingTheme.GREEN);
toRange.setFontColors(colors);
toRange.setFontSizes(fontsizes);
toRange.setFontWeights(fontstyle);
我希望源带继续,但是当我尝试使用定义的变量时banding
,该applyRowBanding()
函数不起作用并给出错误。我可以使用applyRowBanding
(SpreadsheetApp.BandingTheme.GREEN) 应用我想要的条带主题,但它适用于整个列,而不仅适用于我的数据(我希望它保留的位置)。因为交替颜色格式不存储为单元格背景颜色,所以我无法复制该格式并将其粘贴到上面。
真的,我只想复制或设置条带到我的数据。
解决方案
推荐阅读
- ruby - 如何让我的尝试次数正确?
- reactjs - PhantomJS 2.1.1 错误:语法错误:函数不能在严格模式下的嵌套块中声明
- sorting - 树集实现?
- terraform - 基于验证的地图拆分 - Terraform
- javascript - 设置选项
以编程方式基于选项索引 - r - 在 Graphviz / DiagrammR 中向水平图添加圆形反馈箭头
- rxjs - Observable 中的 RxJs 包装函数
- java - Docker Container javax.mail.MessagingException:没有合适的协议(协议被禁用或密码套件不合适);
- java - 我正在尝试初始化子类中的基类属性,但出现错误
- python - 如何在保持索引不变的同时基于列创建新行?