user2952212
user2952212

Reputation: 230

How to get the contents of a cell in a google spreadsheet using java and Google Spreadsheet API

After connect to spreadsheet properly, attempt to obtain the contents of a particular cell: the 'C6' cell. The content of this cell is a number: '49', but the result I get is: 'com.google.gdata.data.TextContent@528ca407'

Here is the code I'm using:

for (CellEntry cell : cellFeed.getEntries()) {
      if (cell.getTitle().getPlainText().equals("C6")) {
          System.out.println (cell.getContent());
      } 
    }

I've also tested with: cell.getCell().getInputValue()
obtaining the same result

Thanks in advance!

Upvotes: 1

Views: 2826

Answers (2)

Joachin Joseph
Joachin Joseph

Reputation: 343

You can define the row and column number as param
It will be good for fetching single cell and multiple cell
for column "C6", Cell R1C1 address is min-row=6&max-row=6&min-col=3&max-col=3

URL cellFeedUrl1 = new URI(worksheets.get(wSID).getCellFeedUrl()+ "?min-row=6&max-row=6&min-col=3&max-col=3").toURL();
CellFeed cellFeed1 = googleservice.getFeed(cellFeedUrl1, CellFeed.class);

        for (CellEntry cell : cellFeed1.getEntries()) {
            System.out.println(cell.getPlainTextContent());
            }

Upvotes: 0

eddyparkinson
eddyparkinson

Reputation: 3700

CellDemo.java shows how. See https://code.google.com/p/gdata-java-client/source/browse/trunk/java/sample/spreadsheet/cell/CellDemo.java?r=51

From CellDemo.java:

/**
 * Prints out the specified cell.
 * 
 * @param cell the cell to print
 */
public void printCell(CellEntry cell) {
  String shortId = cell.getId().substring(cell.getId().lastIndexOf('/') + 1);
  out.println(" -- Cell(" + shortId + "/" + cell.getTitle().getPlainText()
      + ") formula(" + cell.getCell().getInputValue() + ") numeric("
      + cell.getCell().getNumericValue() + ") value("
      + cell.getCell().getValue() + ")");
}

Upvotes: 2

Related Questions