Chèn hình ảnh từ Google Drive vào Google Sheets


11

Làm cách nào để tôi chèn / liên kết đến các hình ảnh hiện có trong một thư mục trong Google Drive vào bảng tính Google Sheets?

Có hàm image (), tôi tưởng tượng sử dụng nó như thế này:

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

Làm sao?

Cập nhật: Một số người lưu ý rằng bằng cách tải ảnh lên Picasa, sau đó chúng tôi có thể lấy URL của từng ảnh và sử dụng ảnh đó. Nó hoạt động. Nhược điểm của việc này là chúng tôi phải sao chép từng URL của tất cả các hình ảnh. Tôi đặt nó trong một trang riêng, sau đó sử dụng VLOOKUP để nhận từng URL hình ảnh trên mỗi chỉ mục. Nó hoạt động nhưng phần sao chép URL là một công việc tồi tệ nếu bạn có nhiều hình ảnh tất nhiên. Một giải pháp tốt hơn là cần thiết.

Câu trả lời:


5

Câu trả lời ngắn

Mặc dù có thể sử dụng các tệp được lưu trữ trong Google Drive làm tài nguyên trang web tại thời điểm này nhưng nó không được hỗ trợ chính thức và không nên được sử dụng cho các trang web và bảng tính có tuổi thọ vượt quá ngày 31 tháng 8 năm 2016.

Như đã được đề cập bởi AE I trong câu trả lời của anh ấy cho một câu hỏi liên quan, việc sử dụng https://docs.google.com/uc?export=view&id=FILE_IDkhông được ghi lại và có thể dừng hoạt động bất cứ lúc nào mà không cần thông báo chính thức trước đó nhưng tại thời điểm này (tháng 2 năm 2019) nó vẫn hoạt động.

Giải trình

Các hướng dẫn để xuất bản tệp Google Drive dưới dạng nội dung trang web có trong Xuất bản nội dung trang web - API Google Drive nhưng theo hỗ trợ lưu trữ web không dùng trong Google Drive - Blog của nhà phát triển Google Apps

Bắt đầu từ ngày 31 tháng 8 năm 2015, lưu trữ web trong Google Drive cho người dùng và nhà phát triển sẽ không được chấp nhận. Bạn có thể tiếp tục sử dụng tính năng này trong khoảng thời gian một năm cho đến ngày 31 tháng 8 năm 2016, khi chúng tôi sẽ ngừng cung cấp nội dung qua googledrive.com/host/[doc id].


4

Tôi đã tạo một tập lệnh hai dòng để sử dụng liên kết chia sẻ của một hình ảnh trong Google Drive.

  1. Chuyển đến Công cụ> Trình chỉnh sửa tập lệnh.
  2. Sao chép, dán mã sau đây
  3. Bấm vào chạy để xin phép

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

Sử dụng tập lệnh:

  1. Sao chép liên kết chia sẻ hình ảnh của bạn trong Google Drive.
  2. Đi đến một tế bào
  3. Nhập công thức

    =IMAGE(DRIVE_IMAGE("COPIED_LINK"))
    

Kịch bản này không hoạt động - lỗi là "TypeError: Không thể gọi phương thức" thay thế "của không xác định. (Dòng 3, tệp" Mã ")" (Xin lỗi, kịch bản là loại phép thuật đối với tôi, vì vậy tôi không thể cung cấp nhiều hơn tại thời gian này)
cduston

@cduston Bạn đã làm theo các bước?
Rubén

Gặp lỗi tương tự như @cduston
Vikram Garg

3
  1. Bạn sẽ cần phải làm một bảng tính.
  2. Sau đó vào công cụ> biên tập kịch bản.
  3. Bạn có thể cắt / dán tập lệnh bên dưới thay thế tất cả nội dung được đặt theo mặc định.
  4. Bạn sẽ cần thêm ID thư mục của mình vào đó ghi THIS_SHOULD_BE_YOUR_FOLDER_ID (để lại dấu ngoặc kép).
  5. Lưu nó
  6. Nhấn nút play / run
  7. Bạn sẽ cần phải cho phép nó chạy khi được yêu cầu.

Nên làm vậy. Ví dụ làm việc của đầu ra ở đây .

/* 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
Tôi có thể đã trả lời qua :) - URL sẽ làhttps://docs.google.com/uc?export=download&id=FILE_ID
Tom Woodward

Xem câu trả lời của @AEI -> webapps.stackexchange.com/a/89112/88163
Rubén

2

Cách tốt nhất và dễ dàng để xử lý việc này là sử dụng công thức thay thế và có hai cột ở đây là giải thích bên dưới:

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

Giải thích điều này sẽ chuyển đổi tệp hình ảnh gián tiếp hình ảnh google thành liên kết trực tiếp và đưa ra kết quả hình ảnh như bạn muốn.

Ảnh chụp màn hình:

nhập mô tả hình ảnh ở đây

nhập mô tả hình ảnh ở đây


1

Bạn có thể làm điều này bằng cách liên kết với URL của Bản vẽ Google, các bước bên dưới:

  1. Tạo bản vẽ mới trong Google Drive (nhấp chuột phải vào bất kỳ thư mục nào trong Google Drive, "Khác", "Vẽ")
  2. dán hình ảnh của bạn vào đó
  3. File -> Publish to web -> As Link, Bắt đầu xuất bản
  4. Sao chép URL được cung cấp và đi tới ô Google Sheet mà bạn muốn chèn
  5. =image("URL you copied")

Nó sao chép dữ liệu, do đó bạn không liên kết với hình ảnh thực tế mà đến Bản vẽ Google có bản sao của hình ảnh. Bất cứ ai cũng có thể truy cập liên kết đó và tải xuống ở bất kỳ định dạng được hỗ trợ nào (JPEG, PNG, SVG hoặc PDF).


Một sự cứu rỗi, cảm ơn bạn!
post_ahead

0

Tôi lấy câu trả lời trên từ (Zeeshan) và kết hợp nó thành một ô.

Nhập cái này vào trong ô:

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

Thay thế "https://drive.google.com/open?id=1cmtBYSbobv3FYpKKBCPvS"bằng "Liên kết có thể chia sẻ" của bạn

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.