2017-04-22 75 views
0

我從一個表追加行到另一個追加行,源片的日期格式,如:Sat, Apr 29, 2017谷歌電子表格的腳本:以純文本

當附加到目標表,它改變4/29/2017格式。 由於我正在追加,因此在追加之前無法設置單元格格式。

是否有反正我可以將整個表格設置爲純文本?或者以某種方式強制追加來保持源文件的格式並且不解釋值?

我使用附加的命令是:

targetSheet.appendRow(row); 
+2

爲什麼你不能設置單元格格式? 'range.setNumberFormat(「@」);'應該將其設置爲「純文本」。 – SpiderPig

+0

@SpiderPig,因爲要追加的行不在該範圍內。 – apadana

+0

您可能需要的是'Range.copyFormatToRange'從源表複製格式。 – SpiderPig

回答

0

一種選擇是附加的行,然後清除格式。

function appendInPlainText() { 
    var sheet = SpreadsheetApp.getActiveSheet(); 
    sheet.appendRow(["dummy", "data"]); 
    sheet.getRange(sheet.getLastRow(), 1, 1, sheet.getLastColumn()).clearFormat(); 
    SpreadsheetApp.flush(); 
} 
+0

僅清除文本格式,而不是數字格式。即使它會清除數字格式,也不會恢復原始格式。 – Tharkon

1

雖然它可能不是一個乾淨的解決方案,對此我自己找,以及東西,這可能是你可以用一種變通方法。

預留一個撇號或另一個不會被識別爲日期一部分的符號。這將強制電子表格將其解釋爲文本。

相關問題