2014-01-09 16 views
0

我將定期製作一個電子表格,並生成大量的信息。 (大約153列。)但我只需要保留一小部分。所以我計劃編寫一個腳本來運行刪除一組預定義的列。任何快速刪除預定義多列的方法?

實施例:

Columns from initial spreadsheet: 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 
A B C D E F G H I J K L M N 

I only want columns 2-4, 8, 10, & 13-14 to be left, say. 

Columns from final spreadsheet after script is run: 
1 2 3 4 5 6 7 
B C D H J M N 

我能想到的唯一方法是在哪裏進行的計數器,每次我刪除列我具有由1調整到在循環準確刪除下一個期望的柱。

是否有沒有deleteColumns(2,7,12,...)類型的代碼..?

謝謝。

回答

1

向後計數 - 這樣,刪除的內容對您的其餘工作沒有影響。

... 
var sheet = blahblahblah; 
var lastCol = sheet.getLastColumn(); 
var keep = [2,3,4,8,10,13,14]; // array of column numbers to keep 

for (var col=lastCol; col > 0; col--) { 
    if (keep.indexOf(col) == -1) { 
    // This isn't a keeper, delete it 
    sheet.deleteColumn(col); 
    } 
} 
... 
+0

Doh!哈哈。謝謝。我現在覺得很愚蠢。 – ssurendr