簡體   English   中英

如何將單個 Google Sheets 單元格的文本內容嵌入到網頁中?

[英]How to embed a single Google Sheets cell's text content into a web page?

背景:我有一個 Google Sheet,它可以自動管理關鍵的組織活動日期,但有時必須手動覆蓋。 我一直在組織的網頁上使用 PHP 復制那些自動計算的事件日期,但是當在 Sheets 數據庫中手動更改事件日期時,它無法處理它。

需要聲明:我希望獲取 Google“DateCalc”表的文本內容,單元格“A33”(其中包含更正后的下一個日期)並將其自動嵌入到網頁句子中,該句子指出“下一個事件安排在? ??。” 在哪里 ”???” 是對單元格 A33 的文本內容進行 HTML 嵌入工作所需的任何內容。

我使用 Sheets 的發布到 Web 功能嘗試過的所有嵌入方法,只是顯示一個包含整個 Sheets 頁面內容的框架,我一直無法找到一種簡單的單一文本顯示方法,這正是我所尋求的。 到目前為止,我找到的所有解決方案都適用於更復雜的情況。 我相信我不需要在工作表(源)端的任何更多代碼,只需要在目標端一個合適的“嵌入代碼片段”。

我可以嵌入一個完整的工作表,但還沒有找到一種方法來嵌入一個簡單的文本字符串與句子中的周圍文本一致。

這個網絡腳本是我能來的最接近的...

 Our next meeting is on <object data="https://docs.google.com/spreadsheets/d/e/2PACX-1vQq6sXBel4SOW5U_XLnQ1xyyl4P-aK2v1R-5uofUvstMLV89_yCSqX3Lmsy4B7E21gojeG88efGFjZ0/pubhtml?gid=604484136&amp;single=true&amp;range=A29&amp;chrome=false" type="text/html" width="171" height="15"></object>.

但是,如果 Code Snippet 真的運行了(我更改了文件 ID 以保護無辜者),您會看到它不會生成內嵌文本字符串,而是生成一個孤立的“塊”,其中包含文本,如下所示。 ...

在此處輸入圖片說明

文本似乎是圖像,而不是文本,它位於文本基線上方,后面有一個我無法擺脫的小灰色斑點。

我假設您的服務器使用 PHP 和 HTML 的組合,因此一種方法是使用該 PHP 代碼調用 Sheets API 以檢索數據。 PHP Sheets API 快速入門中,您可以找到一個示例,說明如何設置項目以實現服務器和 API 之間的工作連接。 完成本教程后,您可以修改腳本以包含以下功能,以便實現您的原始請求。

function getNextDate() {
  $client         = getClient();
  $sheetsService  = new Google_Service_Sheets($client);
  $spreadsheetID  = '{YOUR SPREADSHEET ID}';
  $cellRange      = 'DateCalc!A33';
  $serverResponse = $sheetsService->spreadsheets_values->get($spreadsheetID, $cellRange);
  $cellValue      = $serverResponse->getValues();
  if (empty($cellValue)) {
    return "NO MEETINGS AHEAD!\n";
  } else {
    foreach ($cellValue as $value) {
      return $value[0];
    }
  }
}

一個完全不同的選擇是使用 webapp。 您可以使用本教程部署一個 Web 應用程序,該應用程序稍后可以嵌入到您的網頁中以顯示以下會議日期。

因此,有兩種免費的替代方法可以實現您的目標:使用 Sheets API 或 webapp; 在這個 anwser 中,我為 API 選項提供了一個函數。 請不要猶豫,提供信息以進一步澄清或請求幫助。

Jacques- Merci beaucoup !

連續幾天的努力充滿挑戰,但你讓我走上了正確的軌道。

使用不到 20 行 JavaScript 代碼,包括一行用於免費 TableTop.js 庫調用(請參閱https://github.com/jsoma/tabletop#if-your-publish-to-web-url-doesnt-work )並在我的 HTML 句子中間插入一個字符串,結果正是我想要的,並且解決方案比我發現的幾乎所有其他需要多個庫、訂閱費、復雜系統調用等的東西都簡單得多。

最難的部分是將 JavaScript 代碼插入到我的網站構建的 WordPress 中,因為您基本上只能將純文本插入到 WordPress 頁面中,但是通過添加的 WordPress 插件(插入頁眉和頁腳),您可以將代碼放入WordPress 頁面。

非常感謝讓我朝着正確的方向前進,並在此過程中獲得了很好的學習經驗。 :-)

我們的下一次會議開始 .

我構建了一個免費、開源且易於使用的服務和徽章生成器,名為https://cellshield.info 它開箱即用,適用於公共 Google 電子表格。 您在上面看到的是徽章的實時Markdown 輸出版本,它是從電子表格同步的,其值的格式與您的示例中顯示的格式相同,公式為TODAY() Markdown 只是制作了一個圖像標簽,我想你可以用其他任何可以制作圖像標簽的東西來做。

如果您希望黃色或任何格式消失,請嘗試以下操作:

我們的下一次會議開始 .

這是通過在參數中添加&color=rgba%28255%2C255%2C255%2C0.0%29&style=flat-square來完成的。 文字不完全匹配,它是可服務的。

無論如何,我看到您選擇了桌面,但如果您或其他任何人只是想做您想做的事情,那么我的服務應該足夠了。

例如,本次Game Boy開發大賽用於展示獎池金額。


如果需要私有電子表格解決方案,可以分叉我的代碼,在他們的 Google Cloud Platform 帳戶中的 Cloud Run 上運行它,並明確地將電子表格共享給他們的 Google Cloud Platform 實例上的服務帳戶。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM