Fügen Sie ein Bild von Google Drive in Google Sheets ein

11

Wie füge ich Bilder, die in einem Ordner in Google Drive vorhanden sind, in eine Google Sheets-Tabelle ein / verlinke sie?

Es gibt die Funktion image (), ich stelle mir vor, sie so zu verwenden:

image("googledrive://somefodleringoogledrivewithmypics/pic_1.png")

Wie?

Update: Einige Leute haben festgestellt, dass wir durch das Hochladen von Bildern auf Picasa die URL jedes Bildes abrufen und diese verwenden können. Es klappt. Der Nachteil dabei ist, dass wir jede URL aller Bilder kopieren müssen. Ich habe das in ein separates Blatt geschrieben und dann VLOOKUP verwendet, um jede Bild-URL pro Index abzurufen. Es funktioniert, aber der Teil zum Kopieren von URLs ist ein verdammt guter Job, wenn Sie natürlich viele Bilder haben. Eine bessere Lösung ist erforderlich.

Jonny
quelle

Antworten:

5

Kurze Antwort

Derzeit ist es möglich, in Google Drive gespeicherte Dateien als Website-Ressourcen zu verwenden. Sie werden jedoch nicht offiziell unterstützt und sollten nicht für Websites und Tabellen verwendet werden , deren Lebensdauer über den 31. August 2016 hinausgeht.

Wie von AE I in seiner Antwort auf eine verwandte Frage erwähnt, ist die Verwendung von https://docs.google.com/uc?export=view&id=FILE_IDnicht dokumentiert und könnte jederzeit ohne vorherige offizielle Ankündigung die Arbeit einstellen, aber zu diesem Zeitpunkt (Februar 2019) funktioniert sie immer noch.

Erläuterung

Die Anweisungen zum Veröffentlichen von Google Drive-Dateien als Website-Inhalt finden Sie unter Veröffentlichen von Website-Inhalten - Google Drive REST-API, jedoch gemäß der veralteten Webhosting-Unterstützung in Google Drive - Google Apps Developer Blog

Ab dem 31. August 2015 wird das Webhosting in Google Drive für Benutzer und Entwickler nicht mehr unterstützt. Sie können diese Funktion für einen Zeitraum von einem Jahr bis zum 31. August 2016 weiter verwenden. Dann stellen wir die Bereitstellung von Inhalten über googledrive.com/host/[doc id] ein.

Rubén
quelle
4

Ich habe ein zweizeiliges Skript erstellt, um den Freigabelink eines Bildes in Google Drive zu verwenden.

  1. Gehen Sie zu Extras> Skripteditor.
  2. Kopieren Sie den folgenden Code und fügen Sie ihn ein
  3. Klicken Sie auf Ausführen, um die Berechtigung zu erhalten

    function DRIVE_IMAGE(link){
        prefix_url = "https://docs.google.com/uc?export=download&";
        link.replace("open?", "uc?export=download&");
    }
    

Verwenden des Skripts:

  1. Kopieren Sie den Freigabelink Ihres Bildes in Google Drive.
  2. Geh in eine Zelle
  3. Geben Sie die Formel ein

    =IMAGE(DRIVE_IMAGE("COPIED_LINK"))
    
Bhacaz
quelle
Dieses Skript funktioniert nicht - Fehler ist "TypeError: Methode" replace "von undefined kann nicht aufgerufen werden (Zeile 3, Datei" Code ")" (Entschuldigung, Skripterstellung ist für mich eine Art Magie, daher kann ich nicht viel mehr anbieten diesmal)
cduston
@cduston Hast du die Schritte befolgt?
Rubén
Immer den gleichen Fehler wie @cduston
Vikram Garg
3
  1. Sie müssen eine Tabelle erstellen.
  2. Gehen Sie dann zu tools> script editor.
  3. Sie können das folgende Skript ausschneiden / einfügen und alle standardmäßig eingegebenen Inhalte ersetzen.
  4. Sie müssen Ihre Ordner-ID dort hinzufügen, wo THIS_SHOULD_BE_YOUR_FOLDER_ID steht (lassen Sie die Anführungszeichen).
  5. Speichern Sie es.
  6. Drücken Sie die Play / Run-Taste
  7. Sie müssen ihm die Berechtigung zum Ausführen geben, wenn Sie dazu aufgefordert werden.

Das sollte es tun. Arbeitsbeispiel für die Ausgabe hier .

/* modified from @hubgit and http://stackoverflow.com/questions/30328636/google-apps-script-count-files-in-folder 
for this stackexchange question http://webapps.stackexchange.com/questions/86081/insert-image-from-google-drive-into-google-sheets by @twoodwar
*/
function listFilesInFolder(folderName) {

   var sheet = SpreadsheetApp.getActiveSheet();
   sheet.appendRow(["Name", "Date", "Size", "URL", "Download", "Description", "Image"]);


//change the folder ID below to reflect your folder's ID (look in the URL when you're in your folder)
    var folder = DriveApp.getFolderById("THIS_SHOULD_BE_YOUR_FOLDER_ID");
    var contents = folder.getFiles();

    var cnt = 0;
    var file;

    while (contents.hasNext()) {
        var file = contents.next();
        cnt++;

           data = [
                file.getName(),
                file.getDateCreated(),
                file.getSize(),
                file.getUrl(),
                "https://docs.google.com/uc?export=download&confirm=no_antivirus&id=" + file.getId(),
                file.getDescription(),
                "=image(\"https://docs.google.com/uc?export=download&id=" + file.getId() +"\")",
            ];

            sheet.appendRow(data);



    };
};
Tom Woodward
quelle
3
Ich könnte über beantwortet haben :) - URL wärehttps://docs.google.com/uc?export=download&id=FILE_ID
Tom Woodward
Siehe die Antwort von @AEI -> webapps.stackexchange.com/a/89112/88163
Rubén
2

Der beste und einfachste Weg, dies zu handhaben, ist die Verwendung einer Ersatzformel. Die folgende Erklärung enthält zwei Spalten:

Column A5: just put google drive image shareable link e.g.
"https://drive.google.com/open?id=1CfUnvGGdt96irA419HnU0BvRafD4F_os"

Column B5: use the combination of two formula image and substitute like this:
=image(substitute(A5,"open?id","uc?export=download&id"))

Erläuterung Dadurch wird die indirekte Bilddatei von Google Image in einen direkten Link konvertiert und das gewünschte Bildergebnis angezeigt.

Bildschirmfoto:

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein

Zeeshan Sangani
quelle
1

Sie können dies tun, indem Sie auf die URL einer Google-Zeichnung verlinken.

  1. Erstellen Sie eine neue Zeichnung in Google Drive (klicken Sie mit der rechten Maustaste in einen beliebigen Ordner in Google Drive, "Mehr", "Zeichnung").
  2. Fügen Sie dort Ihr Bild ein
  3. File -> Publish to web -> As Link, Starten Sie die Veröffentlichung
  4. Kopieren Sie die angegebene URL und wechseln Sie zur Google Sheet-Zelle, die Sie einfügen möchten
  5. =image("URL you copied")

Die Daten werden dupliziert, sodass Sie nicht auf das eigentliche Bild verlinken, sondern auf eine Google-Zeichnung, die eine Kopie des Bildes enthält. Jeder kann zu diesem Link gehen und in einem der unterstützten Formate (JPEG, PNG, SVG oder PDF) herunterladen.

user34612
quelle
Ein Lebensretter, danke!
post_ahead
0

Ich nahm die obige Antwort von (Zeeshan) und kombinierte sie zu einer Zelle.

Geben Sie dies in die Zelle ein:

=image(substitute("https://drive.google.com/open?id=1cmtBYSbobv3FYpKKBCPvS","open?id","uc?export=download&id"))

Ersetzen Sie "https://drive.google.com/open?id=1cmtBYSbobv3FYpKKBCPvS"durch Ihren "Shareable Link"

LaPorte
quelle