Forum Discussion
_anomDiebolt_
8 years agoQrew Elite
You can use script to download a file or blob of data and force its name. See the attached screenshot where I download all the records in the formula function reference and give it a name myreport.csv:
Pastie Database
https://haversineconsulting.quickbase.com/db/bgcwm2m4g?a=dr&rid=651
So all you have to do is bind this script to a button and arrange to pass the name you want for the file.
Pastie Database
https://haversineconsulting.quickbase.com/db/bgcwm2m4g?a=dr&rid=651
So all you have to do is bind this script to a button and arrange to pass the name you want for the file.
- ForrestParker7 years agoQrew CadetDan, I was able to implement this solution exactly as you presented it and it works great! However, I would like to create a CSV in this manner without the column headers. Is that something that is easily done?
- _anomDiebolt_7 years agoQrew EliteThe variable csv is just a string with newlines separating each row.
This will probably work:var csv2 = csv.split('\n').slice(1).join('\n');
Very simple console test:
download("myuniquefile.csv", csv2);csv="a,b\n1,2\n3,4"
"a,b
1,2
3,4"
csv.split('\n').slice(1).join('\n');
"1,2
3,4" - ForrestParker7 years agoQrew CadetPerfect! That is exactly what I needed. Thanks!
- ForrestParker7 years agoQrew CadetDan, is it possible to implement this in such a way that two separate files are created with the click of one button?
- RyanStanford17 years agoQrew CaptainAbsolutely, you would just need to set a different file name and rerun the CSV creation code like so:
$.get("https://login.quickbase.com/db/6ewwzuuj?a=q&qid=1&opts=csv")
.then(function(csv) {
download("myuniquefile.csv", csv);
});
$.get("https://login.quickbase.com/db/<SecondDBID if from a different table>?a=q&qid=<second Query ID>&opts=csv")
.then(function(csv) {
download("myuniquefile2.csv", csv);
});
The HTTPS: link would have to link to the second report you wanted.