Append local csv files to a Google spreadsheet in a Team Drive - google-sheets

I could follow Wesley Chun to upload local csv file to a Team Drive alright as described in Managing Team Drives with Python and the Google Drive API, but it's not easy to append a csv file to a Google Sheet spreadsheet when both the csv file and the Google Sheet spreadsheet are in the same Team Drive. DriveApp.searchFiles(), getBlob().getDataAsString() and Utilities.parseCsv() work perfectly and get the job done in My Drive, but not in a Team Drive.
The challenge is to upload a local csv file to a Team Drive regularly; append the uploaded csv file to a Google Sheet spreadsheet in the same Team Drive. I got stuck at the second part. Do you have any clue?

Are you able to get a shared file link for that uploaded CSV file in the team drive?
Right click on the file in the drive and click get shareable link. If you are able to do that it should look like this.
"https://drive.google.com/file/d/1Vd09if9o5wVL8lEGXE2QDaYhGMxzEFhj/view?usp=sharing"
Take your sheet_id code and paste it into the format below.
"https://drive.google.com/uc?export=download&id=1Vd09if9o5wVL8lEGXE2QDaYhGMxzEFhj"
You can then use =importdata("https://drive.google.com/uc?export=download&id=1Vd09if9o5wVL8lEGXE2QDaYhGMxzEFhj") in your sheet to pull in the data from the uploaded csv file.
Hopefully this helps.

Related

Download embeded google sheets

as I'm not a web developer by any means, this is me just asking a question for that I have not found a solution for.
I have a google sheet with multiple pages/sheets within it. the file is embeded in an iframe inside a webpage and I pulled the url and can open it directly using the url. the following link is just an example as I can't share the actual link since I am not allowed to:
https://docs.google.com/spreadsheets/d/e/{key}/pubhtml?widget=true&headers=false
I have tried this:
https://spreadsheets.google.com/feeds/download/spreadsheets/Export?key={key}
and is not working I get an error:
Sorry, unable to open the file at present.
Please check the address and try again.
the file is not meant for anyone to download nor share. Furthremore, since it is continuosely manually updated by author and I need to keep track of updates, taking screenshots is not efficient since the file is too big.
is there any way I can download the actual sheet to my device (so I can compare file updates over the long run)
Thank you.
I believe your goal as follows.
You want to download a Google Spreadsheet.
You are the owner of Google Spreadsheet.
The Spreadsheet is published as the Web publish. So the URL of Spreadsheet is https://docs.google.com/spreadsheets/d/e/2PACX-1vTl9bcwMSjoxYj406evzJefFodkVEUlV2KIq34Y5V8BFWJygAFrPSA7L5d89TASDUjkPG4b2SfN2rpe/pubhtml?widget=true&headers=false.
Issue and workaround:
Unfortunately, the Google Spreadsheet cannot be directly downloaded as the Google Spreadsheet. It seems that this is the current specification. In this case, it is required to export the Google Spreadsheet as other mimeType. For example, it's XLSX format, PDF format and CSV format. But the URL of https://docs.google.com/spreadsheets/d/e/2PACX-1vTl9bcwMSjoxYj406evzJefFodkVEUlV2KIq34Y5V8BFWJygAFrPSA7L5d89TASDUjkPG4b2SfN2rpe/pubhtml?widget=true&headers=false cannot directly export. So, in this answer, as a workaround, I would like to propose to use the URL for exporting Google Spreadsheet as other mimeType.
When your URL is used, the URL for exporting is as follows.
Modified url:
https://docs.google.com/spreadsheets/d/e/2PACX-1vTl9bcwMSjoxYj406evzJefFodkVEUlV2KIq34Y5V8BFWJygAFrPSA7L5d89TASDUjkPG4b2SfN2rpe/pub?output=xlsx
In this case, when you access to above URL using browser, your Spreadsheet can be exported as a XLSX file.
When output=xlsx is modified to output=pdf and output=csv, you can export as a PDF file and a CSV file, respectively.
When you want to export the specific sheetm please use the sheet ID like gid=0. The URL is as follows.
https://docs.google.com/spreadsheets/d/e/2PACX-1vTl9bcwMSjoxYj406evzJefFodkVEUlV2KIq34Y5V8BFWJygAFrPSA7L5d89TASDUjkPG4b2SfN2rpe/pub?output=xlsx&gid=0
Note:
When you want to make users downloading the Spreadsheet, you can add the tag a as follows.
Download

I have to syncronize a .csv file with a google sheet

I have to synchronize a .csv file with a google sheet. The csv file is stored into a NAS area with a specific path.
The final output is to have a google sheet file which is a copy of the csv file periodically updated. The purpose is to automate the process of updating a dashboard that has the google sheet as the database but the original source file is periodically issued in this NAS area.
Can you help me?

Using IMPORTRANGE to import from Excel file in Google Drive

To import an entire sheet of data from another spreadsheet using IMPORTRANGE I'd do something like this:
=importrange("google-drive-id-for-spreadsheet","A:AR")
This works fine for a Google Sheets spreadsheet source, but if the source file is an Excel spreadsheet, I get a #Ref! error in the cell and the hover comment is:
Error Spreadsheet cannot be found.
I'm presuming this is because IMPORTRANGE doesn't work with Excel files, so how can I achieve the same thing?
I don't mind working with scripts but would prefer a formula solution if possible.
Edit: This happens whether I use the full URL or just the spreadsheet key and if I use the sheet name with the range or not. I've tried several files and it always works with the Google Sheets files and never works with Excel files.
Something occurred to me about the ownership and location of these files. Somebody else is the owner of the spreadsheet that I want the IMPORTRANGE formula in. I have full edit permissions. The folder that the spreadsheet resides in is owned by the same guy, it has been shared with me and I have added it to my Drive. In a subfolder of this folder is where the source files are. I am the owner of the subfolder and the source files within, both Excel and Google Sheets files.
Could this setup have anything to do with the results I'm getting?
Edit: I've had the ownership of the folders (all the way up the hierarchy) and relevant files transferred to me and it's still doing the same thing.
This is clearly only a work around and not an answer, but I had to do something so that I could move on. The only way I could get what I wanted is to code a convert to .gsheet format first and point imortrange to that new sheet. Might help someone else get their project pointing in a working direction until this can be answered.
There are there way to fix this problem:
Convert the Excel spreadsheet to a Google spreadsheet. You can then use the importrange() function to import the data from the converted file.
Export the Excel spreadsheet to a CSV file first, then you can use a different function called the importdata() function to import that data into a Google spreadsheet.
Using Add-on: "Sheetgo"
You should watch this video:
How to automatically import Excel Data to Google Sheets?

Google sheets Hyper links to folders not working

I am trying to migrate an Excel sheet to Google sheets and having a problem with the links to folders as can not get them to work. Tried to use this format:
=HYPERLINK("Folder/sub Folder","link label")
Is there a way to get the folders to open or is it just not possible because Google sheets is web based and the security permissions won't allow it to open a windows folder?
The HYPERLINK() function of Google Sheets requires as first parameter a URL.
If you want to include a link to a Google Drive folder you should use the URL of that folder. The sharing URl of a folder looks like the following one
https://drive.google.com/folderview?id=1B5xqUTMMK_n6NmdkTUhsbUd9SE0&usp=sharing
The URL of a folder taken from the Google Drive UI looks like the following one
https://drive.google.com/drive/u/0/folders/1B5xqUTMMK_n6NmdkTUhsbUd9SE0
Note: I changed some characters of the real folder ID to prevent access requests.

Open a excel file in Microsoft Excel Online from a link

I have a shared xls file in One Drive. Which i want to view though Excel Online.
The Link would be sent to users through mails. The user will open it in browser by clicking it.
Just like the Google Docs Viewer
https://docs.google.com/viewer?url=http://spreadsheetpage.com/downloads/xl/time%2520sheet.xls
But, in Microsoft Excel Online and the file is in One Drive itself.
Thanks in advance.
Use WL.api to provide the path of the file stored on onedrive. This function returns a URL if it succeeds. You have to send this link through email. User will be able to view the invoice stored on your onedrive by clicking on this link using excel online.
:-)

Resources