Google-sheets – Place cell data from Sheets into Docs

google docsgoogle sheetsgoogle-apps-script

I'm trying to populate an invoice. I have a Google Spreadsheets that calculates hours per project, and I want to bring that into a Google Docs. Despite much searching, I have found no way to do this.

I thought IMPORTRANGE would work as a new equation, but no luck.

How do you enter a formula into a Google Docs?

Best Answer

The following piece of code will create a Google Document and will insert a dynamic text, as a paragraph, into the newly created document. All is done from within a Google Spreadsheet.

Code

// global
var ss = SpreadsheetApp.getActive();

function onOpen() {
  var menu = [{name: "Create Document", functionName: "createDoc"}];
  ss.addMenu("Extra", menu);
}

function createDoc() {
  var sh = ss.getActiveSheet(), aRow = sh.getActiveCell().getRowIndex();
  var title = sh.getRange(aRow, 1).getValue(), docDate = new Date(); 
  var docTitle = title + "-" + docDate, doc = DocumentApp.create(docTitle);

  // create text in document
  var body = doc.getBody();
  body.appendParagraph("A paragraph " + docTitle); 

  // create app and panel
  var app = UiApp.createApplication().setTitle("Open Google Document")
    .setHeight(50).setWidth(400);
  var vPanel = app.createVerticalPanel()
    .add(app.createAnchor(docTitle, doc.getUrl()));

  // add to app
  app.add(vPanel);
  ss.show(app);  
}

Add

The code in your Google Spreadsheet, under Tools>Script editor. Press the bug button to authenticate the code and all is set to go.

Example

I've created an example file for you: create Google Document with text