7

Tôi có một WebApp thu thập dữ liệu trang web công việc vào bảng tính Google Trang tính và cũng thu thập ảnh trang web công việc vào thư mục Google Drive mà tôi tạo cho mỗi công việc. Một số, nhưng không phải tất cả, trong số các ảnh phải có thể xem được trong một ô trong Google Trang tính, sao cho trang tính có thể được in như một phần của báo cáo hoàn thành công việc.Cách đúng để đưa hình ảnh Drive vào ô Trang tính theo chương trình là gì?

Tôi sử dụng Google Picker để tải tệp lên thư mục cụ thể cho công việc của trang web công việc. Tôi không chắc chắn cách tốt nhất để sử dụng chúng từ đó.

Tôi đã thiết lập thành công công thức ô như =IMAGE("hllp://i.imgur.com/yuRheros.png", 4, 387, 422), nhưng chỉ với hình ảnh được kéo từ nơi khác trên web.

Sử dụng the permalink trick như thế này =IMAGE("hllp://drive.google.com/uc?export=view&id=0B8xy-TdDgbjiFoOldUlLT091NXM", 4, 387, 422) không hoạt động; Tôi nghĩ rằng nó sẽ không tha thứ cho chuyển hướng URL mà Google thực hiện trên các liên kết đó.

Cách khác tôi đã đọc, nhưng chưa thử, là viết blob thực tế vào ô. Tuy nhiên, tôi nghi ngờ tôi sẽ mất quyền kiểm soát định dạng tiếp theo của báo cáo.

Có lẽ tôi sẽ cần phải ghi lại các đặc điểm kỹ thuật hình ảnh theo nhiều cách ở một số tế bào:

  1. Google Drive của nó băm chính
  2. kích thước của nó
  3. vị trí thay thế của nó trong imgur.com (hoặc tương tự)
  4. blob của nó

Có cách lập trình để nhận URL cuối cùng được chuyển hướng của Google cho một hình ảnh, tương đương với việc mở hình ảnh và sao chép URL bằng tay? Có thể tin tưởng nó cho bao giờ, hay nó thay đổi theo thời gian?

Cập nhật: tôi sai về = IMAGE ("hllp: //drive.google.com/uc xuất khẩu = view & id = 0B8xy-TdDgbjiFoOldUlLT091NXM", 4, 387, 422) không làm việc. Điều quan trọng là hình ảnh được chia sẻ với "bất kỳ ai có liên kết", ngay cả khi chủ sở hữu của bảng tính cũng là chủ sở hữu của hình ảnh.

Tôi sẽ đi với ghi âm chỉ 1.hash chính và 2.dimensions như giải pháp của tôi, nhưng tôi rất vui khi biết nếu có ai khác có một ý tưởng tốt hơn.

+0

Tôi chỉ hỏi một câu hỏi tương tự ở đây: http://webapps.stackexchange.com/questions/86081/insert-image-from -google-drive-into-google-sheets Hiện tại tôi sử dụng Picasa để giải quyết vấn đề, nhưng nó không lý tưởng vì các url hình ảnh phải được sao chép từng cái một. – Jonny

Trả lời

3

tôi đã tạo một đoạn mã gồm 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 đoạn mã sau
  3. Bấm vào chạy cho phép

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

Sử dụng kịch bản:

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

    =IMAGE(DRIVE_IMAGE("COPIED_LINK")) 
    
+0

Bạn nên đăng giải pháp đầy đủ _here_ thay vì liên kết đến nó. Tôi nhận ra rằng trang web ở đầu kia của liên kết là trang web Stack Exchange, nhưng nếu câu hỏi hoặc câu trả lời của bạn bị xóa thì sao? Thế thì điều này sẽ không có ý nghĩa gì nhiều. –

+0

Điều này có vẻ như câu trả lời tôi đang tìm kiếm, nhưng đã lâu rồi, tôi không còn cần nó nữa. Tại sao, bây giờ, đặt nó là câu trả lời đúng? . . . cũng Bhacaz :-) –

+0

Điều này không hoạt động – Cooper

3

Giả sử bạn có được ID của hình ảnh của bạn trong ổ đĩa của bạn, bạn có thể sử dụng một mã như dưới đây để chèn một hình ảnh trong dòng cuối cùng của một tờ (url là một chút khác nhau hơn bình thường):

... 
    var img = DriveApp.getFileById('image ID');// or any other way to get the image object 
    var imageInsert = sheet.getRange(lastRow+1, 5).setFormula('=image("https://drive.google.com/uc?export=view&id='+img.getId()+'")');// in this example the image is in column E 
    sheet.setRowHeight(lastRow+1, 80);// define a row height to determine the size of the image in the cell 
    ... 

tôi sẽ đề nghị bạn nên cẩn thận kiểm tra các tính chất chia sẻ các tập tin bạn đang cố gắng để hiển thị: họ phải được thiết lập để "công cộng" của chuyển trong một thư mục đó cũng là "công khai chia sẻ"

+0

Vâng, Cảm ơn Serge, tôi đã có một chút, nhưng chắc chắn những người xem trong tương lai sẽ được hưởng lợi từ việc xem cách thực hiện. Vì nó là một báo cáo, tôi thực sự phải sử dụng = hình ảnh (url, 4, chiều rộng, chiều cao) để kiểm soát kích thước. Tôi tính tỷ lệ chiều cao theo chiều rộng và sau đó chia tỷ lệ cho vừa với kích thước của hai ô. –

+0

https://drive.google.com/uc?export=view không còn hoạt động để xem trước hình ảnh. Tôi chỉ thử điều này và không nhận được một hình thu nhỏ. – rahulserver

+0

vẫn hoạt động, chèn hình ảnh này vào ô bảng tính: = hình ảnh ("https://drive.google.com/uc?export=view&id=0B3qSFd3iikE3TUFFLTJiOWYzNThhLTNhYzQtNGZlMi1hZjJhLWExNTZhNWY1MzEzYg") –

Các vấn đề liên quan