A Google Apps Script that merges information from a Google Sheet into a Template created by Google Docs. The result is a new Google Docs file that is populated by the Sheet data.
This work is based on a response from StackExchange user Vidal S. Ramdal, which I have altered, streamlined and updated.
I have also modified the code to work around a bug that is present in Google Apps Script. The bug damages images that are copied across Docs files, and is still present as of March 2015.
-
Open your Sheet file and make sure the first row of the data is column headers.
-
Reference the column headers in the template by enclosing the headers in square brackets. An example that can be in your template Doc may be:
This is [header1] that corresponds to a value of [header2].
-
Copy the contents of
merge.gs
to the script editor of your Google Sheets file, modify the first line of thedoMerge()
method according to the ID of your template Doc, and save it. -
Then close and open the Sheet file, and you should see a new menu for the Sheet file, called
Merge
. From there, pickFill template
. -
A new merged file will be created for you.
(https://developers.google.com/apps-script/guides/docs#the_basics)