I have a Google Spreadsheet which stores data filtered from another Spreadsheet which in turn is a sorage of Google Froms questionnaire.
I'd like to produce a print-ready report on a filtered data, retreiving certain data columns and laying it out with some titles, decorations etc.
How can I produce such a report using Google tools?
In this article it explains pretty well how to: Google Apps Script to create PDF.
It made a predefined template of a Google Docs, copyed it and replaced predefined places with the info in the current line of the Spreadsheet, then convert to PDF. If you don't have a predefined length of elements, you can append new info on the documents with the body element.
Take a look at the AutoCrat add-on or Yet Another Mail Merge add-on.
Related
I have an application that runs benchmarks and generates a CSV file with the report contents.
To interpret this report, I have created a template GSheets document with queries, drop down selections, graphs, etc.
Consumers must:
Run the benchmarking tool to generate the data CSV
Go to the template document in gsheets (outlined in the readme)
Copy the template into their own gdrive account
Insert the contents of the CSV into the unprotected data sheet of that document
This is a lot of manual handling and I would rather be able to, like a csv, programmatically produce a file that contains the filled out sheet where the consumer just needs to open the sheet with the Google Sheets account.
From what I can see, Google Sheets doesn't have a specific file format that it uses and the gsheet files are just empty magic links that the web app knows to respond to.
I can imagine that I can use the Google Sheets web API to publish a new file to the user's Google Drive but I don't want to mess around with Google OAuth authentication as I feel that's overkill.
Is it possible to write a file that Google Sheets can interpret directly?
Perhaps I can write an older MS Office .xls file and Google Sheets can interpret it via the import functionality?
My backup is writing the report to an html file with a web app that visualizes the data using some charting JS library - though it would be a shame because everything I need is already in Google Sheets.
Google sheets have an API: gspread.
If it's only a matter of switching data, you could create main spreadsheet with graphs etc. set up, and then using an API copy it and paste new data into it.
I'm working for a company who want me to move their shared drive (NAS) to Google Drive get us working collaboratively.
Currently we have a central spreadsheet which has a bunch of information about each aircraft we work on, which mail merges into word docs. When we need to do a specific thing (like weigh the aircraft) we need to generate a document to store with the details on it. We open a template word doc and use the mail merge deature to find the reg of the aircraft and Word's mail merge pulls in the rest of the info into the doc. Great stuff!
We're moving to Google Drive to work more collaboratively. Is there a way of doing this same thing on GDrive? I can see ways of having a google sheet pull info from a master spreadsheet in this way, but not google Docs (which will work better because of the way you can format tables).
My research shows that this is easy with a google sheet but I need to use a google doc really, for the formatting flexibility.
I am trying to create a google doc that is fed by a google sheet. Each row created in the sheet needs to generate a google doc in which the information in the row is inserted into the document template in the correct places. Any experience generating docs from individual rows in sheets and could assist with this?
I am not sure if this is the solution you are looking for, but you may want to try this.
Make a table with google sheet like this one:
create a new document within google drive, and type the variables with double brackets like this: {{name}}
Go to the add-ons market in g suite market place, and search for document studio.
With it, you can generate files with custom data from a google sheet.
(it has a free trial with limit to 20 document a month per user if I remember correctly).
After you install it, access your google sheet again and open the add on. It will look like this:
Choose your google doc, and the add-on will automatically identify the variables you listed.
You can then select the file output type (PDF, WORD etc..). The add-on can send the file via email if needed as well.
I am working within the same Google drive folder.
I have a number of Google Docs, which all contains a number of tables in the same format. What I want is to export the data from each table in to according rows in a google spreadsheet. I think the function should be automated to run ones every day. The first problem I am bumping in on is to open the different Doc files and extract the tables - any surgestions on how to do that?
The folder is access protected, but both the Docs and Sheet are placed within the same folder.
BR.
Torben
You will need to use the Drive API and export the documents as HTML. Then you will need to parse the HTML yourself to extract the table data. Finally use the Sheets API to insert that data into your spreadsheet.
I have a trouble with parsing of data from google spreadsheet api. I have a spreadsheet with 3 pages and I need to get data from there and parse them to array where key is cell position and value is value of cell.
When I go to File->Publish to the web with option "All sheets" and target format is CSV seperated with comas I get a link which is targeting data with just values of cells and just from first page.
Here is any way how to get data from all sheets and with information where are placed in document (cell name (code))?
Thank you all!
You can use Google Spreadsheet API, for example using its Java Library
or you can use Google Apps Script and its spreadsheet methods
both of them are giving you the ability to have your data live in Google spreadsheet and at the same time access it from other clients or sites. You don't need to export it and lose the ability to have it updated across all your clients.