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.gsto 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.