我正在使用Google电子表格,想知道是否有一种用Apps脚本在电子表格中插入单元格的方法。
例如:假设从A2到Y2有一些数据。我想要在A2处插入一些数据,这样现在就会有从A2到Z2的数据。
例如:假设从A2到Y2有一些数据。我想要在A2处插入一些数据,这样现在就会有从A2到Z2的数据。
这将把从A2开始的所有内容向右移动1列,使A2保持为空,并准备插入新数据。
请注意,这也会复制A2的格式设置。 因此,请确保任何边框等都放置在A1上而不是A2上。
function addNewCell() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
ss.getRange("A2").insertCells(SpreadsheetApp.Dimension.COLUMNS);
}
如果您想跨多个单元格移动A2,请使用范围。
ss.getRange("A2:C2").insertCells(SpreadsheetApp.Dimension.COLUMNS);
我认为没有办法在单元格左侧或右侧插入单元格。如果您的单元格和地址不是动态的,您可以执行以下操作:
//Get A2-Y2 in a cellFeed
URL cellFeedUrl1 = new URI(worksheets.get(WSID).getCellFeedUrl() +"?min-row=2&max-row=2&min-col=1&max-col=1").toURL();
CellFeed cellFeed1 = googleservice.getFeed(cellFeedUrl1, CellFeed.class);
//store in an Array
for (CellEntry cell : cellFeed1.getEntries())
{ Array_A2Y2.add(cell.getPlainTextContent()); }
//Add your desired cell Value on the first of that array
//Insert the Array items on the your required row
我想把一块数据下移,以在表格顶部创建一个新的(空)行。我知道我的顶行数据从单元格A7开始,表格的最后一列是H列,因此我只需要将表格列向下移动,而不影响电子表格中的其他内容。
function addNewRow() {
var sheet = SpreadsheetApp.getActiveSpreadsheet();
sheet.getRange("A7:H1000").moveTo(sheet.getRange("A8"));
}
mysheet.getRange(1,5,nbrows+BNrows-1,5).setValues(myArray); // my Array concern a column