Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Trying to read cell 1,1 in spreadsheet using Google Script API

I'm a mildly experienced programmer ... I have an OK understanding of OOP concepts, I've been using PHP and MySQL lately. I've started to dabble with Google API Scripts. I'm trying to write a very simple program to read cell 1,1 in a google spreadsheet. The API is NOT embedded in the google spreadsheet, I need it to run outside of the SS.

Here is the code in question:

function email() {  // Opens SS by its ID  var ss = SpreadsheetApp.openById("0AgJjDgtUl5KddE5rR01NSFcxYTRnUHBCQ0stTXNMenc");  // Get the name of this SS  var name = ss.getName(); 

Read cell 1,1 * Line below doesn't work *

var data = Range.getCell(0, 0); 

I understand that getCell() is a method within the Range class. From what I can see in the resources, it looks like Range is the top / parent / super class. Looking at the bold code above, I believe I have created a Range object and trying to call a method from that object. What am I doing wrong here??

Thanks for looking!

like image 557
Makonnen Avatar asked Jan 01 '13 10:01

Makonnen


People also ask

How do I get a cell value in Google Sheets?

However, there is a solution; the INDEX function. In Google Sheets, the formula INDEX() allows you to return the value of a cell by specifying which row and column to look at in the specified array. =INDEX(A:A,1,1) for example will always return the first cell in column A.


1 Answers

You have to first obtain the Range object. Also, getCell() will not return the value of the cell but instead will return a Range object of the cell. So, use something on the lines of

function email() {  // Opens SS by its ID  var ss = SpreadsheetApp.openById("0AgJjDgtUl5KddE5rR01NSFcxYTRnUHBCQ0stTXNMenc");  // Get the name of this SS  var name = ss.getName();  // Not necessary   // Read cell 1,1 * Line below does't work *  // var data = Range.getCell(0, 0); var sheet = ss.getSheetByName('Sheet1'); // or whatever is the name of the sheet  var range = sheet.getRange(1,1);  var data = range.getValue();  } 

The hierarchy is Spreadsheet --> Sheet --> Range --> Cell.

like image 90
Srik Avatar answered Oct 12 '22 17:10

Srik