Google Apps Script 設定Spreadsheet Cell為純文字格式

前言

讀此篇文章時必需要俱備Google Apps Script的開發基礎,其文章主要會以快速記錄開發心得所提供的程式內容技巧,有不能理解之處請下留言處留言。

問題

使用setValue輸入數字,但顯示出來的數字被格式化成非預想的結果

123456->12,345

技巧

使用getRange()之後會將取到的資料範圍進行資料修改,SpreadSheet會根據你輸入的資料內容進行判斷它的資料格式,當你輸入為12345時會被判為數字,因而會被被格式化成像這樣12,345,所以除了重設定格式之外,也可以將它設定為純文字就不會有這問題:

    var sheet = SpreadsheetApp.openById(spreadsheetID).getSheets()[sheetIndex];
    var dataRange = sheet.getRange("A2");
    dataRange.setNumberFormat("@");
    dataRange.setValue(value);


官方網頁上有篇Date and Number Formats 提供設定格式的說明,但標題的關系會以為只教你設定日期與數字,但Number format tokens表格有說明設定為raw text的方法:

Token Description
@ Inserts the raw text for the cell, if the cell has text input. Not compatible with any of the other special characters and won’t display for numeric values (which are displayed as general format).