{"id":11383,"date":"2023-12-22T07:00:00","date_gmt":"2023-12-22T01:30:00","guid":{"rendered":"https:\/\/selfimagination.in\/tips\/?p=11383"},"modified":"2023-12-21T20:36:00","modified_gmt":"2023-12-21T15:06:00","slug":"fetch-item-rates-from-google-sheets","status":"publish","type":"post","link":"https:\/\/selfimagination.in\/tips\/fetch-item-rates-from-google-sheets\/","title":{"rendered":"Fetch Item Rates from Google Sheets | Dynamic Invoice Tutorial using Apps Script &amp; JavaScript"},"content":{"rendered":"\n<p>In this tutorial, you&#8217;ll learn how to fetch item rates from Google Sheets to create a dynamic invoice. We&#8217;ll build a web application that leverages Google Apps Script and JavaScript to retrieve item rates from a Google Sheet based on user selections. The invoice will update in real-time as users choose different items from the dropdown list. This step-by-step guide is perfect for beginners looking to explore web development and Google Sheets integration.<\/p>\n\n\n\n<div class=\"wp-block-rank-math-toc-block\" id=\"rank-math-toc\"><h2>Table of Contents<\/h2><nav><ul><li><a href=\"#requirement-fetch-item-rates-from-google-sheets\">Requirement : Fetch Item Rates from Google Sheets<\/a><\/li><li><a href=\"#project-flow-fetch-item-rates-from-google-sheets\">Project Flow (Fetch Item Rates from Google Sheets)<\/a><\/li><li><a href=\"#apps-script-code-for-fetch-item-rates-from-google-sheets\">Apps Script Code for Fetch Item Rates from Google Sheets<\/a><\/li><li><a href=\"#java-script-code-for-fetch-item-rates-from-google-sheets\">JavaScript Code for Fetch Item Rates from Google Sheets<\/a><\/li><li><a href=\"#html-code-for-fetch-item-rates-from-google-sheets\">HTML Code for Fetch Item Rates from Google Sheets<\/a><\/li><li><a href=\"#output\">Output <\/a><\/li><li><a href=\"#\u0939\u092e\u093e\u0930\u0947-\u0905\u0928\u094d\u092f-\u0906\u0930\u094d\u091f\u093f\u0915\u0932\">\u0939\u092e\u093e\u0930\u0947 \u0905\u0928\u094d\u092f \u0906\u0930\u094d\u091f\u093f\u0915\u0932<\/a><\/li><\/ul><\/nav><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"requirement-fetch-item-rates-from-google-sheets\">Requirement : Fetch Item Rates from Google Sheets<\/h2>\n\n\n\n<p>\u0939\u092e \u091a\u093e\u0939\u0924\u0947 \u0939\u0948\u0902 \u0915\u0940 \u0939\u092e\u0928\u0947 \u091c\u094b Invoice \u092c\u0928\u093e\u0908 \u0925\u0940 \u0909\u0938\u092e\u0947 Item select \u0915\u0930\u0928\u0947 \u092a\u0930 \u0909\u0938 Item \u0915\u093e \u091c\u094b Rate Google Sheet \u092a\u0930 Update \u0939\u0948\u0902 \u0935\u0939 Invoice \u092e\u0947 Rate Wale Column \u092a\u0930 \u0906 \u0915\u0930 Set \u0939\u094b \u091c\u093e\u090f \u0964 \u0913\u0930 \u0906\u0917\u0947 \u0915\u0947 \u091c\u094b \u092d\u0940 Calculation \u0939\u094b \u0935\u0939 \u0905\u092a\u0928\u0947 \u0905\u0928\u0941\u0906\u0930 \u0915\u0930 \u0915\u0930\u0928\u0947 \u0932\u0917\u0947 \u0964 \u0907\u0938\u0915\u0947 \u0932\u093f\u090f \u0938\u092c\u0938\u0947 \u092a\u0939\u0932\u0947 \u092e\u0948\u0902\u0928\u0947 \u091c\u094b Item \u0915\u0940 dropdown Google Sheet \u0938\u0947 \u0932\u0917\u093e\u0908 \u0925\u0940 \u0909\u0938\u0940 Google Sheet \u092e\u0947 \u092e\u0948\u0902\u0928\u0947 Rate \u0915\u093e \u090f\u0915 Column Add \u0915\u0930 \u0909\u0938\u092e\u0947 Value Fill \u0915\u0930 \u0926\u0940 \u0939\u0948\u0964 <\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"577\" height=\"656\" src=\"https:\/\/i0.wp.com\/selfimagination.in\/tips\/wp-content\/uploads\/2023\/08\/image.png?resize=577%2C656&#038;ssl=1\" alt=\"\" class=\"wp-image-11386\" style=\"width:325px;height:auto\" srcset=\"https:\/\/i0.wp.com\/selfimagination.in\/tips\/wp-content\/uploads\/2023\/08\/image.png?w=577&amp;ssl=1 577w, https:\/\/i0.wp.com\/selfimagination.in\/tips\/wp-content\/uploads\/2023\/08\/image.png?resize=264%2C300&amp;ssl=1 264w, https:\/\/i0.wp.com\/selfimagination.in\/tips\/wp-content\/uploads\/2023\/08\/image.png?resize=150%2C171&amp;ssl=1 150w\" sizes=\"auto, (max-width: 577px) 100vw, 577px\" \/><\/figure>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"project-flow-fetch-item-rates-from-google-sheets\">Project Flow (Fetch Item Rates from Google Sheets)<\/h2>\n\n\n\n<p>\u091c\u0948\u0938\u093e \u0915\u0940 \u0906\u092a \u0907\u0938 Article \u092e\u0947 \u0926\u0947\u0916\u0947\u0902\u0917\u0947 \u0915\u0940 \u090f\u0915 \u092a\u0939\u0932\u0947 \u0938\u0947 \u092c\u0928\u0940 HTML Invoice \u092e\u0947 \u0939\u092e \u090f\u0915 Functionality \u0914\u0930 add \u0915\u0930 \u0930\u0939\u0947 \u0939\u0948\u0902 \u0915\u0940 \u091c\u0948\u0938\u0947 \u0939\u0940 \u0939\u092e Item \u0938\u093f\u0932\u0947\u0915\u094d\u091f \u0915\u0930\u0947 \u0909\u0938\u0915\u093e Rate \u092d\u0940 \u0939\u092e\u0947 \u0926\u093f\u0916\u093e\u0908 \u0926\u0947\u0928\u0947 \u0932\u0917\u0947\u0964 <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0907\u0938\u0915\u0947 \u0932\u093f\u090f \u0939\u092e\u0928\u0947 Google Sheet \u092c\u0928\u093e\u0908 \u0939\u0948\u0902 \u0909\u0938 \u092a\u0930 \u090f\u0915 Rate \u0915\u093e Column \u092c\u0928\u093e\u090f\u0917\u0947\u0964 <\/li>\n\n\n\n<li>\u0907\u0938\u0915\u0947 \u092c\u093e\u0926 \u0939\u092e Apps Script \u092e\u0947 doGet \u092a\u0930 \u090f\u0915 Condition \u0932\u0917\u093e \u0915\u0930 item name \u0915\u0947 \u0906\u0927\u093e\u0930 \u092a\u0930 Google Sheet \u0938\u0947 Item \u0915\u093e Rate return \u0915\u0930\u0947\u0902\u0917\u0947\u0964 <\/li>\n\n\n\n<li>\u0907\u0938\u0915\u0947 \u092c\u093e\u0926 Apps Script \u0915\u094b Deploy \u0915\u0930 \u090f\u0915 Link \u092c\u0928\u093e \u0932\u0947\u0902\u0917\u0947\u0964 <\/li>\n\n\n\n<li>\u0907\u0938\u0915\u0947 \u092c\u093e\u0926 \u0939\u092e javascript \u092e\u0947 \u090f\u0915 Function \u092c\u0928\u093e \u0915\u0930 apps Script \u0915\u0940 \u091c\u094b \u0932\u093f\u0902\u0915 \u0939\u092e\u0928\u0947 \u092c\u0928\u093e\u0908 \u0939\u0948\u0902 \u0909\u0938 \u092a\u0930 item pass \u0915\u0930 rate get \u0915\u0930\u0947\u0902\u0917\u0947 \u0914\u0930 \u0909\u0938\u0947 HTML \u092a\u0930 set \u0915\u0930\u0935\u093e \u0926\u0947\u0902\u0917\u0947\u0964 <\/li>\n\n\n\n<li>\u0905\u0902\u0924 \u092e\u0947 \u0939\u092e HTML \u0915\u0947 onchange event \u0915\u093e \u0909\u092a\u092f\u094b\u0917 \u0915\u0930 JavaScript \u0915\u0947 function \u0915\u094b Call \u0915\u0930 \u0932\u0947\u0902\u0917\u0947\u0964 <\/li>\n<\/ul>\n\n\n\n<p>HTML \u0938\u0947 JavaScript Function call \u0939\u094b\u0917\u093e \u092b\u093f\u0930 JavaScript \u0938\u0947 Apps Script call \u0939\u094b\u0917\u0940 \u0914\u0930 Apps Script Google Sheet  \u0938\u0947 Data Fetch \u0915\u0930 \u0939\u092e\u0947 Apps Script \u0915\u094b \u0926\u0947\u0917\u0940 Apps Script \u0909\u0938 data \u0915\u094b JavaScript \u0915\u094b Return \u0915\u0930 \u0926\u0947\u0917\u0940 \u0913\u0930 JavaScript \u0909\u0938\u0947 HTML \u092a\u0930 \u0938\u0947\u091f \u0915\u0930 \u0926\u0947\u0917\u093e\u0964 <\/p>\n\n\n\n<p><a href=\"https:\/\/selfimagination.in\/tips\/submit-html-form-to-google-sheet\/\">Html Form \u0915\u0947 data \u0915\u094b Google Sheet \u092a\u0930 \u0915\u0948\u0938\u0947 \u092d\u091c\u0947 ? \u0938\u0940\u0916\u0928\u0947 \u0915\u0947 \u0932\u093f\u090f \u0926\u0947\u0916\u0947 <\/a><\/p>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"apps-script-code-for-fetch-item-rates-from-google-sheets\">Apps Script Code for Fetch Item Rates from Google Sheets<\/h2>\n\n\n\n<p>Value fill \u0915\u0930\u0928\u0947 \u0915\u0947 \u092c\u093e\u0926 \u0939\u092e \u090f\u0915 Apps Script \u092e\u0947 doGet \u092a\u0930 \u090f\u0915 Condition \u0914\u0930 add \u0915\u0930\u0947\u0902\u0917\u0947 \u0964 <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"javascript\" class=\"language-javascript\">let MySheets  = SpreadsheetApp.getActiveSpreadsheet();\nlet InvSheet  = MySheets.getSheetByName(\"Inv\");                   \nlet ItemSheet = MySheets.getSheetByName(\"Item\");   \/\/01\n\nfunction doGet(e) {\n\n  let page = e.parameter.page;\n else if (page == 'getrate') {   \/\/02\n    let no = e.parameter.no;  \/\/03\n    let ReturnData = ItemSheet.getRange(\"A:A\").createTextFinder(no).matchEntireCell(true).findAll(); \/\/04\n    let StartRow = 0;\n    ReturnData.forEach(function (range) {\n      StartRow = range.getRow();  \/\/05\n    });\n\n    let val = 0;\n    if (StartRow > 0) {   \n        val = ItemSheet.getRange(StartRow, 2).getValue(); \/\/06\n    }\n\n    let str = JSON.stringify(val);\n    return ContentService.createTextOutput(str);  \/\/07\n  }\n\n\n}<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>01: \u092f\u0939\u093e\u0901 \u092a\u0930 \u0939\u092e\u0928\u0947 \u091c\u094b Item Sheet \u092c\u0928\u093e\u0908 \u0925\u0940 \u0909\u0938\u0947 \u090f\u0915 Variable \u092e\u0947 Point \u0915\u093f\u092f\u093e \u0939\u0948\u0902 \u0964 <\/li>\n\n\n\n<li>02 : \u092f\u0939\u093e \u092a\u0930 \u0939\u092e\u0928\u0947 page \u0915\u0947 \u0906\u0927\u093e\u0930 \u092a\u0930 \u0915\u0947 Condition \u0932\u0917\u093e \u0915\u0930 \u091c\u092c \u0939\u092e getrate page \u0915\u0947 \u0928\u093e\u092e \u0938\u0947 link \u0915\u094b Execute \u0915\u0930\u0947\u0902\u0917\u0947 \u0924\u092c \u0907\u0938 Condition \u092e\u0947 entrer \u0939\u094b \u0907\u0938\u0932\u093f\u090f \u0907\u0938 \u0924\u0930\u0939 \u0938\u0947 Condition \u0932\u0917\u093e\u0908 \u0939\u0948\u0902 \u0964 <\/li>\n\n\n\n<li>03: \u092f\u0939\u093e\u0901 \u092a\u0930 \u091c\u094b \u0939\u092e \u0909\u0927\u0930 \u0938\u0947 \u092f\u093e\u0928\u093f \u0915\u0940 Javascript \u0938\u0947 Item pass \u0915\u0930\u0947\u0902\u0917\u0947 \u0909\u0938\u0947 \u092f\u0939\u093e\u0901 \u092a\u0930 no variable \u092e\u0947 receive \u0915\u0930\u0947\u0902\u0917\u0947\u0964 <\/li>\n\n\n\n<li>04: \u0905\u092c \u0939\u092e\u0928\u0947 \u091c\u094b Item Pass \u0915\u093f\u092f\u093e \u0939\u0948\u0902 \u0909\u0938 Item \u0915\u094b \u0939\u092e Item Sheet \u092e\u0947 Search \u0915\u0930\u0947\u0902\u0917\u0947\u0964 \u0914\u0930 Return Value \u0915\u094b ReturnData \u0928\u093e\u092e\u0915 Variable \u092e\u0947 Store \u0915\u0930 \u0932\u0947\u0902\u0917\u0947\u0964 <\/li>\n\n\n\n<li>05: \u0905\u092c \u0939\u092e\u0928\u0947 \u091c\u094b Return value \u092a\u094d\u0930\u093e\u092a\u094d\u0924 \u0915\u0940 \u0925\u0940 \u0909\u0938\u0915\u093e Row number, StartRow Variable \u092e\u0947 store \u0915\u0930 \u0932\u0947\u0902\u0917\u0947\u0964 <\/li>\n\n\n\n<li>06: \u0905\u092c \u0939\u092e\u093e\u0930\u0947 \u092a\u093e\u0938 Row Number \u0906 \u0917\u092f\u093e \u0939\u0948\u0902 \u0907\u0938\u0915\u0947 \u0906\u0927\u093e\u0930 \u092a\u0930 \u0939\u092e Column number 2 \u092f\u093e\u0928\u093f \u0915\u0940 Rate \u0915\u0940 \u0935\u0948\u0932\u094d\u092f\u0942 \u0915\u094b val Variable \u092e\u0947 Store \u0915\u0930 \u0932\u0947\u0902\u0917\u0947\u0964 <\/li>\n\n\n\n<li>07: \u092f\u0939\u093e\u0901 \u0938\u0947 \u091c\u094b Rate \u0939\u092e\u0947 \u092a\u094d\u0930\u093e\u092a\u094d\u0924 \u0939\u0941\u0935 \u0939\u0948\u0902 \u0909\u0938\u0947 json stirng \u092c\u0928\u093e \u0915\u0930 \u0939\u092e Return \u0915\u0930 \u0926\u0947\u0902\u0917\u0947\u0964 <\/li>\n<\/ul>\n\n\n\n<p>\u0907\u0924\u0928\u093e \u0915\u0930\u0928\u0947 \u0915\u0947 \u092c\u093e\u0926 \u0906\u092a Apps Script Project \u0915\u094b Deploy \u0915\u0930 \u090f\u0915 link generate \u0915\u0930 \u0932\u0947\u0902\u0917\u0947 \u0913\u0930 copy \u0915\u0930 \u0909\u0938\u0915\u093e \u0909\u092a\u092f\u094b\u0917 \u0939\u092e JavaScript \u092e\u0947 \u0915\u0930\u0947\u0902\u0917\u0947\u0964 <\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"java-script-code-for-fetch-item-rates-from-google-sheets\">JavaScript Code for Fetch Item Rates from Google Sheets<\/h2>\n\n\n\n<p>\u0905\u092c \u0906\u092a\u0915\u094b \u0928\u093f\u092e\u094d\u0928 function \u0915\u094b \u0906\u092a\u0915\u0947 JavaScript \u092e\u0947 \u092c\u0928\u093e\u0928\u093e \u0939\u0948\u0902 \u0964 <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"javascript\" class=\"language-javascript\">function GetRate(v) { \/\/01\n        var index = $(v).parent().parent().index();  \/\/02\n\tvar Item = $(v).val(); \/\/03\n        $.getJSON(\"https:\/\/script.google.com\/macros\/s\/\"+AppsScriptLink+\"\/exec?page=getrate&amp;no=\"+Item,\n        function (data) { \/\/04\n\t\tif (data > 0) {\n\t\tdocument.getElementsByName(\"rate\")[index].value = data;\t\/\/05\n\t\tCalc(v); \/\/06\n\t\t}\n        });\n}\n<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>01: JavaScript \u092e\u0947 \u0939\u092e \u0938\u092c\u0938\u0947 \u092a\u0939\u0932\u0947 \u090f\u0915 Function \u092c\u0928\u093e\u090f\u0902\u0917\u0947 \u091c\u093f\u0938\u0915\u093e \u0928\u093e\u092e \u0939\u092e\u0928\u0947 GetRate \u0930\u0916\u093e \u0939\u0948\u0902 \u0907\u0938 function \u0915\u093e \u0909\u092a\u092f\u094b\u0917 \u0939\u092e Html \u092e\u0947 \u0915\u0930\u0947\u0902\u0917\u0947 \u0964 <\/li>\n\n\n\n<li>02: Invoice \u092e\u0947 Multiple Rows \u0939\u0948\u0902 \u0924\u094b Current Row \u0915\u093e Index \u092a\u094d\u0930\u093e\u092a\u094d\u0924 \u0915\u0930\u0928\u0947 \u0915\u0947 \u0932\u093f\u090f \u0939\u092e\u0928\u0947 index variable \u092e\u0947 item \u0915\u0947 parent \u0915\u0947 parent \u0915\u093e index \u0915\u094b Store \u0915\u0930 \u0932\u093f\u092f\u093e \u0939\u0948\u0902 .<\/li>\n\n\n\n<li>03: \u092f\u0939\u093e\u0901 \u092a\u0930 \u0939\u092e\u0928\u0947 Item \u0915\u0940 \u0935\u0948\u0932\u094d\u092f\u0942 \u0915\u094b \u092d\u0940 Store \u0915\u0930 \u0932\u093f\u092f\u093e \u0939\u0948\u0902 \u0964 <\/li>\n\n\n\n<li>04: \u0905\u092c \u0939\u092e\u0928\u0947 \u091c\u094b Apps Script \u0938\u0947 Link Generate \u0915\u0940 \u0925\u0940 \u0909\u0938\u0915\u094b \u0939\u092e \u092f\u0939\u093e\u0901 \u092a\u0930 $.getJSON \u0915\u093e \u0909\u092a\u092f\u094b\u0917 \u0909\u0938\u0938\u0947 \u0938\u0947 Return \u0935\u0948\u0932\u094d\u092f\u0942 \u0915\u094b Get \u0915\u0930\u0947\u0902\u0917\u0947 \u0964 <\/li>\n\n\n\n<li>05: \u0905\u092c \u091c\u094b \u0935\u0948\u0932\u094d\u092f\u0942 \u0939\u092e\u0947 Return \u092e\u093f\u0932\u0940 \u0939\u0948\u0902 \u0909\u0938\u0947 \u0939\u092e rate \u0935\u093e\u0932\u0947 Column \u092a\u0930 set \u0915\u0930 \u0926\u0947\u0902\u0917\u0947\u0964 <\/li>\n\n\n\n<li>06: \u0907\u0938\u0915\u0947 \u092c\u093e\u0926 \u0939\u092e \u091c\u094b \u0939\u092e\u0928\u0947 \u0906\u0917\u0947 \u0915\u0947 Calculation \u0915\u0947 \u0932\u093f\u090f Function \u0932\u093f\u0916\u093e \u0939\u0948\u0902 \u0909\u0938\u0915\u094b \u0915\u0932 \u0915\u0930 \u0926\u0947\u0902\u0917\u0947 <\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"\ud83d\udcf0Fetch Item Rates from Google Sheets | Dynamic Invoice Tutorial using Apps Script &amp; JavaScript\" width=\"640\" height=\"360\" src=\"https:\/\/www.youtube.com\/embed\/kswAIttEdcM?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"html-code-for-fetch-item-rates-from-google-sheets\">HTML Code for Fetch Item Rates from Google Sheets<\/h2>\n\n\n\n<p>\u0905\u092c \u0939\u092e \u0939\u092e\u093e\u0930\u0947 HTML \u092a\u0930 \u091c\u0939\u093e \u092a\u0930 \u0939\u092e\u0928\u0947 Table \u092e\u0947 Item Input \u092c\u0928\u093e\u092f\u093e \u0939\u0948\u0902 \u0909\u0938 \u092a\u0930 \u0906 \u0915\u0930 \u0909\u0938\u0915\u0947 onchange event \u092a\u0930 function \u0915\u094b Call \u0915\u0930\u0947\u0902\u0917\u0947 \u091c\u094b \u0915\u0940 \u0939\u092e\u0928\u0947 JavaScript \u092e\u0947 \u092c\u0928\u093e\u092f\u093e \u0939\u0948\u0902 \u0964 <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"markup\" class=\"language-markup\"> &lt;input class=\"form-control \" name=\"item_nm\"  list=\"mylist\" autocomplete=\"off\" \n                                 required value=\"a\" onchange=\"GetRate(this)\"  >\n &lt;datalist id=\"mylist\" >&lt;\/datalist><\/code><\/pre>\n\n\n\n<p>\u0905\u092c \u091c\u0948\u0938\u0947 \u0939\u0940 \u0906\u092a list \u092e\u0947 \u0938\u0947 Item Name select \u0915\u0930\u0947\u0902\u0917\u0947 \u0924\u092c \u092f\u0939\u093e \u0938\u0947 GetRate function call \u0939\u094b\u0917\u093e \u0914\u0930 apps script \u0938\u0947 Item \u0915\u093e Rate \u0932\u093e \u0915\u0930 HTML \u092a\u0930 \u0938\u0947\u091f \u0915\u0930 \u0926\u0947\u0917\u093e\u0964 <\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"output\">Output <\/h2>\n\n\n\n<p>\u092f\u0939\u093e \u092a\u0930 \u0906\u092a \u0926\u0947\u0916 \u0930\u0939\u0947 \u0939\u094b\u0928\u0947 \u0915\u0940 item select \u0915\u0930\u0928\u0947 \u092a\u0930 \u0909\u0938\u0915\u093e \u0915\u093e Rate \u0939\u0948\u0902 \u0935\u0939 Google Sheet \u0938\u0947 \u0906\u0915\u0930 Display \u0939\u094b \u0917\u092f\u093e \u0939\u0948\u0902  <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"333\" src=\"https:\/\/i0.wp.com\/selfimagination.in\/tips\/wp-content\/uploads\/2023\/08\/image-1.png?resize=640%2C333&#038;ssl=1\" alt=\"Fetch Item Rates from Google Sheets\" class=\"wp-image-11387\" srcset=\"https:\/\/i0.wp.com\/selfimagination.in\/tips\/wp-content\/uploads\/2023\/08\/image-1.png?resize=1024%2C533&amp;ssl=1 1024w, https:\/\/i0.wp.com\/selfimagination.in\/tips\/wp-content\/uploads\/2023\/08\/image-1.png?resize=300%2C157&amp;ssl=1 300w, https:\/\/i0.wp.com\/selfimagination.in\/tips\/wp-content\/uploads\/2023\/08\/image-1.png?resize=768%2C400&amp;ssl=1 768w, https:\/\/i0.wp.com\/selfimagination.in\/tips\/wp-content\/uploads\/2023\/08\/image-1.png?resize=1536%2C799&amp;ssl=1 1536w, https:\/\/i0.wp.com\/selfimagination.in\/tips\/wp-content\/uploads\/2023\/08\/image-1.png?resize=220%2C115&amp;ssl=1 220w, https:\/\/i0.wp.com\/selfimagination.in\/tips\/wp-content\/uploads\/2023\/08\/image-1.png?resize=140%2C73&amp;ssl=1 140w, https:\/\/i0.wp.com\/selfimagination.in\/tips\/wp-content\/uploads\/2023\/08\/image-1.png?resize=620%2C324&amp;ssl=1 620w, https:\/\/i0.wp.com\/selfimagination.in\/tips\/wp-content\/uploads\/2023\/08\/image-1.png?resize=60%2C31&amp;ssl=1 60w, https:\/\/i0.wp.com\/selfimagination.in\/tips\/wp-content\/uploads\/2023\/08\/image-1.png?resize=150%2C78&amp;ssl=1 150w, https:\/\/i0.wp.com\/selfimagination.in\/tips\/wp-content\/uploads\/2023\/08\/image-1.png?w=1689&amp;ssl=1 1689w, https:\/\/i0.wp.com\/selfimagination.in\/tips\/wp-content\/uploads\/2023\/08\/image-1.png?w=1280&amp;ssl=1 1280w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/figure>\n\n\n\n<p>\u0906\u0936\u093e \u0939\u0948\u0902 \u092e\u0941\u091d\u0947 \u0906\u092a\u0915\u094b \u0915\u093f\u0938 \u0924\u0930\u0939 \u0938\u0947 HTML Page \u092a\u0930 Google Sheet \u0938\u0947 Data \u0915\u094b Fetch \u0915\u0930 \u0926\u093f\u0916\u093e\u092f\u093e \u091c\u093e\u0924\u093e \u0939\u0948\u0902 \u092c\u0939\u0941\u0924 \u0939\u0940 \u0905\u091a\u094d\u091b\u0947 \u0938\u0947 \u0938\u092e\u091d \u092e\u0947 \u0906 \u0917\u092f\u093e \u0939\u094b\u0917\u093e, \u092b\u093f\u0930 \u092d\u0940 \u092f\u0926\u093f \u0906\u092a\u0915\u094b \u0907\u0938 Article \u0938\u0947 Related \u0915\u094b\u0908 Doubt \u0939\u094b \u092f\u093e \u0915\u094b\u0908 Query \u0939\u094b \u0924\u094b \u0906\u092a \u092e\u0941\u091d\u0947 \u0928\u093f\u0903\u0938\u0902\u0915\u094b\u091a comment \u0915\u0930 \u0938\u0915\u0924\u0947 \u0939\u0948\u0902 \u0964 \u0905\u092a\u0928\u093e \u0915\u0940\u092e\u0924\u0940 \u0938\u092e\u092f \u0926\u0947\u0928\u0947 \u0915\u0947 \u0932\u093f\u090f \u0927\u0928\u094d\u092f\u0935\u093e\u0926 <\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"\u0939\u092e\u093e\u0930\u0947-\u0905\u0928\u094d\u092f-\u0906\u0930\u094d\u091f\u093f\u0915\u0932\"><strong>\u0939\u092e\u093e\u0930\u0947 \u0905\u0928\u094d\u092f \u0906\u0930\u094d\u091f\u093f\u0915\u0932<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/selfimagination.in\/tips\/mysql-function\/\">MySQL Function<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/selfimagination.in\/tips\/mysql-stored-procedure\/\">MySQL Stored Procedure<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/selfimagination.in\/tips\/get-post-method\/\">PHP Get \/Post Method \u0915\u0947 \u092c\u093e\u0930\u0947 \u092e\u0947\u0902 \u091c\u093e\u0928\u0947<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/selfimagination.in\/tips\/php-math-function\/\">PHP Math Function \u0915\u0947 \u092c\u093e\u0930\u0947 \u092e\u0947\u0902 \u091c\u093e\u0928\u0947<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/selfimagination.in\/tips\/learn-cpp-from-c\/\">C \u0938\u0947 C ++ \u0938\u0940\u0916\u0947 \u0938\u0930\u0932 \u0936\u092c\u094d\u0926\u094b\u0902 \u092e\u0947\u0902<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/selfimagination.in\/tips\/php-variables\/\">PHP Variable \u0915\u0947 \u092c\u093e\u0930\u0947 \u092e\u0947\u0902 \u091c\u093e\u0928\u0947<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/selfimagination.in\/tips\/arduino-control-structure\/\">Arduino Control Structure<\/a>&nbsp;<\/li>\n\n\n\n<li><a href=\"https:\/\/selfimagination.in\/tips\/c-union\/\">Union in C<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/selfimagination.in\/tips\/c-pointer\/\">Declaration of Pointer in C<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/selfimagination.in\/tips\/search-jquery\/\">jQuery Search Filter<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/selfimagination.in\/tips\/mysql-table-create-alter-drop\/\">MySQL Create Table | Alter Table | Drop Table<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/selfimagination.in\/tips\/api-using-node-react-express-mysql\/\">API Using NODE REACT EXPRESS MYSQL SEQUELIZE (For Backend OR Server Side)<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/selfimagination.in\/tips\/cpanel\/\">CPANEL In Hindi<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>In this tutorial, you&#8217;ll learn how to fetch item rates from Google Sheets to create a dynamic invoice. We&#8217;ll build a web application that leverages Google Apps Script and JavaScript to retrieve item rates from a Google Sheet based on user selections. The invoice will update in real-time as users choose different items from the [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":11389,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[28],"tags":[],"class_list":["post-11383","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-google-apps-script"],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"https:\/\/i0.wp.com\/selfimagination.in\/tips\/wp-content\/uploads\/2023\/08\/Dropdown-onchange-apps-script.jpg?fit=1280%2C720&ssl=1","_links":{"self":[{"href":"https:\/\/selfimagination.in\/tips\/wp-json\/wp\/v2\/posts\/11383","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/selfimagination.in\/tips\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/selfimagination.in\/tips\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/selfimagination.in\/tips\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/selfimagination.in\/tips\/wp-json\/wp\/v2\/comments?post=11383"}],"version-history":[{"count":28,"href":"https:\/\/selfimagination.in\/tips\/wp-json\/wp\/v2\/posts\/11383\/revisions"}],"predecessor-version":[{"id":11740,"href":"https:\/\/selfimagination.in\/tips\/wp-json\/wp\/v2\/posts\/11383\/revisions\/11740"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/selfimagination.in\/tips\/wp-json\/wp\/v2\/media\/11389"}],"wp:attachment":[{"href":"https:\/\/selfimagination.in\/tips\/wp-json\/wp\/v2\/media?parent=11383"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/selfimagination.in\/tips\/wp-json\/wp\/v2\/categories?post=11383"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/selfimagination.in\/tips\/wp-json\/wp\/v2\/tags?post=11383"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}