21
votes

It is possible to set number format to a cell with google apps script like

cell.setNumberFormat("0.000");

I need to set cell format to a text, so that any date-like values were not automatically converted.
How can I do this?

1
Possible duplicate of Format a Google Sheets cell in plaintext via Apps Scriptuser3717023

1 Answers

55
votes

The setNumberFormat function in the Google Apps Script is not well documented. This function accepts a wide range of parameters in a single string that can be used to specify the format for a range of cells.

So here is the different example on how to set the setNumberFormat function.

As plain text for a single cell:

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

// Single cell
var cell = sheet.getRange("B2");

// Plain text
cell.setNumberFormat("@");

As date for single column:

// Single column
var column = sheet.getRange("B2:B");

// Simple date format
column.setNumberFormat("M/d/yy");

As currency for entire sheet:

// Entire sheet
var range = sheet.getRange(1, 1, sheet.getMaxRows(), sheet.getMaxColumns());

// Money format
range.setNumberFormat("$#,##0.00;$(#,##0.00)");

Source: Cell Number Formatting with Google Apps Script