แทรกรูปภาพจาก Google Drive ลงใน Google ชีต


11

ฉันจะแทรก / ลิงก์ไปยังรูปภาพที่มีอยู่ในโฟลเดอร์ใน Google Drive ลงในสเปรดชีตของ Google ชีตได้อย่างไร

มีฟังก์ชั่นอิมเมจ () ฉันจินตนาการถึงการใช้บางอย่างเช่นนี้:

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

อย่างไร?

อัปเดต:บางคนตั้งข้อสังเกตว่าเมื่ออัปโหลดรูปภาพไปยัง Picasa เราจะสามารถรับ URL ของแต่ละรูปภาพและใช้งานได้ มันได้ผล. ข้อเสียของสิ่งนี้คือเราต้องคัดลอก URL ของภาพทั้งหมด ฉันใส่มันลงในแผ่นแยกต่างหากจากนั้นใช้ VLOOKUP เพื่อรับ URL ภาพแต่ละอันต่อดัชนี ใช้งานได้ แต่ส่วนการคัดลอก URL เป็นงานที่หนักหน่วงหากคุณมีรูปภาพจำนวนมาก ทางออกที่ดีกว่านั้นเป็นสิ่งจำเป็น

คำตอบ:


5

คำตอบสั้น ๆ

แม้ว่าจะเป็นไปได้ที่จะใช้ไฟล์ที่เก็บไว้ใน Google Drive เป็นแหล่งข้อมูลของเว็บไซต์ในขณะนี้ยังไม่ได้รับการสนับสนุนอย่างเป็นทางการและไม่ควรใช้สำหรับเว็บไซต์และสเปรดชีตที่มีอายุการใช้งานนานกว่า 31 สิงหาคม 2016

ตามที่ได้รับการกล่าวถึงโดย AE I ในการตอบคำถามที่เกี่ยวข้องการใช้งานดังhttps://docs.google.com/uc?export=view&id=FILE_IDกล่าวไม่ได้รับการบันทึกและสามารถหยุดทำงานได้ตลอดเวลาโดยไม่ต้องแจ้งให้ทราบล่วงหน้าอย่างเป็นทางการก่อนหน้านี้ แต่ในเวลานี้ (กุมภาพันธ์ 2019)

คำอธิบาย

คำแนะนำในการเผยแพร่ไฟล์ Google ไดรฟ์เป็นเนื้อหาของเว็บไซต์อยู่ในเนื้อหาเว็บไซต์เผยแพร่ - Google Drive REST APIแต่อ้างอิงจาก การสนับสนุนการให้บริการพื้นที่เว็บโฮสติ้งใน Google ไดรฟ์ - Google Apps Developer Blog

ตั้งแต่วันที่ 31 สิงหาคม 2558 เป็นต้นไปการโฮสต์เว็บใน Google ไดรฟ์สำหรับผู้ใช้และนักพัฒนาจะถูกยกเลิก คุณสามารถใช้คุณสมบัตินี้ต่อไปเป็นระยะเวลาหนึ่งปีจนถึงวันที่ 31 สิงหาคม 2016 เมื่อเราจะหยุดให้บริการเนื้อหาผ่าน googledrive.com/host/ [iddoc id]


4

ฉันสร้างสคริปต์สองบรรทัดเพื่อใช้ลิงก์แชร์ของรูปภาพใน Google ไดรฟ์

  1. ไปที่เครื่องมือ> เครื่องมือแก้ไขสคริปต์
  2. คัดลอกวางรหัสต่อไปนี้
  3. คลิกที่วิ่งเพื่อขออนุญาต

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

ใช้สคริปต์:

  1. คัดลอกลิงค์แบ่งปันภาพของคุณใน Google Drive
  2. ไปที่เซลล์
  3. ใส่สูตร

    =IMAGE(DRIVE_IMAGE("COPIED_LINK"))
    

สคริปต์นี้ใช้งานไม่ได้ - ข้อผิดพลาดคือ "TypeError: ไม่สามารถเรียกเมธอด" แทนที่ "ของที่ไม่ได้กำหนด (บรรทัดที่ 3, ไฟล์" รหัส ")" (ขออภัยการเขียนสคริปต์เป็นเวทย์มนตร์สำหรับฉัน เวลานี้)
cduston

@cduston คุณทำตามขั้นตอนต่างๆแล้วหรือยัง
Rubén

รับข้อผิดพลาดเดียวกันกับ @cduston
Vikram Garg

3
  1. คุณจะต้องทำสเปรดชีต
  2. จากนั้นไปที่เครื่องมือ> เครื่องมือแก้ไขสคริปต์
  3. คุณสามารถตัด / วางสคริปต์ด้านล่างเพื่อแทนที่เนื้อหาทั้งหมดที่ใส่ไว้โดยค่าเริ่มต้น
  4. คุณจะต้องเพิ่ม ID โฟลเดอร์ของคุณที่มีข้อความว่า this_SHOULD_BE_YOUR_FOLDER_ID (ให้ใส่เครื่องหมายคำพูด)
  5. บันทึกไว้
  6. กดปุ่มเล่น / เรียกใช้
  7. คุณจะต้องให้สิทธิ์ในการทำงานเมื่อถูกถาม

ที่ควรทำ การทำงานตัวอย่างของผลลัพธ์ที่นี่

/* 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);



    };
};

3
ฉันอาจตอบไปแล้ว :) - URL น่าจะเป็นhttps://docs.google.com/uc?export=download&id=FILE_ID
Tom Woodward

ดูคำตอบของ @AEI -> webapps.stackexchange.com/a/89112/88163
Rubén

2

วิธีที่ดีที่สุดและง่ายต่อการจัดการสิ่งนี้คือการใช้สูตรทดแทนและมีสองคอลัมน์ที่นี่คือคำอธิบายด้านล่าง:

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"))

คำอธิบายสิ่งนี้จะแปลงไฟล์รูปภาพทางอ้อมของรูปภาพ Google เป็นลิงก์โดยตรงและให้ผลลัพธ์รูปภาพตามที่คุณต้องการ

ภาพหน้าจอ:

ป้อนคำอธิบายรูปภาพที่นี่

ป้อนคำอธิบายรูปภาพที่นี่


1

คุณสามารถทำได้โดยเชื่อมโยงไปยัง URL ของ Google Drawing ขั้นตอนด้านล่าง:

  1. สร้างรูปวาดใหม่ใน Google Drive (คลิกขวาในโฟลเดอร์ใด ๆ ใน Google Drive, "เพิ่มเติม", "รูปวาด")
  2. วางภาพของคุณในนั้น
  3. File -> Publish to web -> As Linkเริ่มเผยแพร่
  4. คัดลอก URL ที่มีให้และไปที่เซลล์ Google ชีตที่คุณต้องการแทรก
  5. =image("URL you copied")

มันทำซ้ำข้อมูลดังนั้นคุณจะไม่เชื่อมโยงไปยังภาพจริง แต่ไปยัง Google Drawing ที่มีสำเนาของภาพ ทุกคนสามารถไปที่ลิงค์นั้นและดาวน์โหลดในรูปแบบใดก็ได้ที่รองรับ (JPEG, PNG, SVG หรือ PDF)


ช่วยชีวิตขอบคุณ!
post_ahead

0

ฉันได้รับคำตอบข้างต้นจาก (Zeeshan) และรวมเข้าเป็นเซลล์เดียว

ป้อนสิ่งนี้ลงในเซลล์:

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

แทนที่"https://drive.google.com/open?id=1cmtBYSbobv3FYpKKBCPvS"ด้วย "ลิงก์ที่แชร์ได้" ของคุณ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.