我正在制作Google电子表格。我想知道是否有办法使用apps脚本在电子表格中插入单元格。
示例:假设从A2到Y2有一些数据。
我想插入带有一些数据的单元格A2。所以现在将有从A2到Z2的数据。
答案 0 :(得分:4)
我得到了答案,没有办法插入单元格。
答案 1 :(得分:1)
没有直接插入单个单元格的功能,但我们可以执行move和write:
例如:
function insertCell() {
var sheet = SpreadsheetApp.getActiveSheet();
sheet.getRange("A2:Y2").moveTo(sheet.getRange("B2"));
sheet.getRange("A2").setValue("New");
}
答案 2 :(得分:1)
这会将所有内容从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);
显然,此特定代码会将它们移动3个
答案 3 :(得分:0)
我认为没有办法向细胞左/右插入细胞。如果您的单元格和地址不是动态的,则可以执行以下操作
//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
答案 4 :(得分:-1)
根据我使用谷歌电子表格的经验,您只能插入整行或列。 这是通过右键单击行/列并选择添加行/列然后您可以选择在下方/右侧或上方/左侧添加它来完成的。
答案 5 :(得分:-2)
如果你想在他的电子表格中写,你需要使用Class Sheet,GetRange函数。
例如:
mysheet.getRange(1,5,nbrows+BNrows-1,5).setValues(myArray); // my Array concern a column
答案 6 :(得分:-2)
我有兴趣将数据块向下移动以在表格的顶部创建一个新的(空)行。知道我的顶行中的数据在单元格A7中盯着我表格中的最后一列是H列,我只将表格列向下移动,而不是我的电子表格的其余部分。
function addNewRow() {
var sheet = SpreadsheetApp.getActiveSpreadsheet();
sheet.getRange("A7:H1000").moveTo(sheet.getRange("A8"));
}