Google Apps Script Se Powerful Result Finder Tool Banaye

मस्कार दोस्तों,

स्वागत है आप सब का फिर से। आज मैं आपके लिए लेकर आया हूं। रिजल्ट फाइंडर टूल का प्रो वर्जन यानि एडवांस रिजल्ट फाइंडर सिस्टम। आप इस टूल की सहायता से अपने स्कूल या कॉलेज या कॉचिंग सेंटर के स्टूडेंट्स का रिजल्ट ऑनलाइन दिखा सकते हैं। अगर आप कोडिंग बिलकुल नहीं जानतें है तब भी आप इसे बना सकते है। क्योंकि मैं (रविशंकर) खुद कोड़ को उपलब्ध कराऊंगा।  

Google Apps Script Se Powerful Result Finder Tool Banaye

अगर आप इंटरनेट पर यह लिख-लिखकर थक गए हैं-

  • Bina Coding ke Advance Result Finder Banaye
  • Online Result Finder System Banane Ka Easy Tarika
  • Smart Result Finder Portal Kaise Banaye
  • Advance Online Result Finder Banane Ka Complete Course
तो आप आराम की सांस लीजिए और मैरे बताए गए स्टेप फॉलो कीजिए। मैं आपको बिल्कुल फ्री मैं एक जानदार और शानदार प्रोफेशनल रिजल्ट फाइंडर बनाना सिखाने वाला हूं।

📑 Table of Contents

    स्टेप-1

    सबसे पहले गूगल पर सर्च कीजिए गूगल शीट। और गूगल शीट को ओपन कीजिए या यहां क्लिक कीजिए।
    ऐसा करने के बाद आप के कंप्यूटर पर गूगल शीट खुल जाएगी।

    स्टेप-2 

    इस स्टेप में नीचे दिए गए इमेज की तरह अपने गूगल शीट में डेटा को सेट कर लीजिए।


    Google Apps Script Se Powerful Result Finder Tool Banaye

    स्टेप -3

    यह सब करने के बाद Extension पर क्लिक कर देना है। जिसके बाद आपको App Script पर क्लिक कर देना है।

    Cyber Crime Complaint Online कैसे करें? 2026 में

    AI के कारण कौन-सी Jobs खत्म होंगी और कौन-सी बढ़ेंगी?



    स्टेप -4

    ऐप स्क्रिप्ट खुलने के बाद आपको कोडिंग करनी है। जोकि मैं आपको कोड दे रहा हूं। Code Gs में यह कोड़ लिखें-


    function doGet() {
      return HtmlService.createHtmlOutputFromFile("index")
        .setTitle("Student Result Finder");
    }

    function getSheets() {
      const ss = SpreadsheetApp.getActive();
      return ss.getSheets()
        .filter(s => !s.isSheetHidden())
        .map(s => s.getName());
    }

    /*******************************
     * Get Student Result
     *******************************/
    function getResult(sheetName, searchValue) {
      if (!sheetName || !searchValue) return null;
      const sh = SpreadsheetApp.getActive().getSheetByName(sheetName);
      if (!sh) return null;
      const data = sh.getDataRange().getValues();
      const headers = data[0];
      for (let i = 1; i < data.length; i++) {
        let roll = String(data[i][0]).trim();
        let dobCell = data[i][4];
        // Convert sheet DOB to yyyy-mm-dd format
        let sheetDOB = "";
        if (dobCell instanceof Date) {
          sheetDOB = Utilities.formatDate(dobCell, Session.getScriptTimeZone(), "yyyy-MM-dd");
        } else {
          sheetDOB = String(dobCell).trim();
        }
        let inputValue = String(searchValue).trim();
        // Match either Roll OR DOB
        if (roll === inputValue || sheetDOB === inputValue) {
          let subjects = [];
          let total = 0;
          const maxMarksPerSubject = Number(data[i][headers.length - 1] || 0);
          for (let c = 6; c < headers.length - 1; c++) {
            let marks = Number(data[i][c] || 0);
            subjects.push({
              name: headers[c],
              marks: marks
            });
            total += marks;
          }
          const subjectCount = subjects.length;
          const totalMax = maxMarksPerSubject * subjectCount;
          const percentage = totalMax > 0
            ? ((total / totalMax) * 100).toFixed(2)
            : 0;
          return {
            photo: data[i][1],
            name: data[i][2],
            father: data[i][3],
            dob: sheetDOB,
            subjects: subjects,
            total: total,
            totalMax: totalMax,
            percentage: percentage
          };
        }
      }
      return null;
    }

    यह कोड कॉपी कीजिए फिर पेस्ट कीजिए। इसके बाद प्लस आइकन पर क्लिक करके Html File को जोड़िए। file का नाम index रखें, जिसमें यह कोड़ डालना है।


    <!DOCTYPE html>
    <html>
    <head>
      <base target="_top">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <style>
        body {
          margin: 0;
          padding: 20px;
          font-family: Arial, sans-serif;
          background: #eef2f7;
        }
        .main-box {
          max-width: 950px;
          margin: auto;
          background: #ffffff;
          padding: 20px;
          border-radius: 8px;
          box-shadow: 0 5px 20px rgba(0,0,0,0.15);
          border-top: 8px solid #ff9933;
        }
        .header {
          text-align: center;
          border-bottom: 3px solid #138808;
          padding-bottom: 10px;
          margin-bottom: 15px;
        }
        .header h2 {
          margin: 5px 0;
          color: #0b3d91;
        }
        .header h3 {
          margin: 0;
          color: #444;
        }
        .search-box {
          margin-bottom: 15px;
          padding: 10px;
          background: #f0f8ff;
          border-radius: 6px;
        }
        select, input {
          padding: 6px;
          font-size: 14px;
          margin: 5px;
          border-radius: 4px;
          border: 1px solid #ccc;
        }
        button {
          padding: 6px 14px;
          font-size: 14px;
          background: #0b3d91;
          color: white;
          border: none;
          border-radius: 4px;
          cursor: pointer;
        }
        button:hover {
          background: #062a63;
        }
        table {
          width: 100%;
          border-collapse: collapse;
          margin-top: 10px;
        }
        th {
          background: #0b3d91;
          color: white;
          padding: 8px;
          border: 1px solid #ddd;
          text-align: center;
        }
        td {
          padding: 8px;
          border: 1px solid #ddd;
          font-size: 14px;
        }
        .label {
          background: #f2f6fc;
          font-weight: bold;
          width: 30%;
        }
        .photo-cell {
          text-align: center;
          vertical-align: middle;
          width: 150px;
        }
        .photo-cell img {
          width: 120px;
          height: 140px;
          object-fit: cover;
          border: 2px solid #0b3d91;
        }
        .summary-table td {
          font-weight: bold;
          background: #e6f0ff;
          text-align: center;
        }
        @media print {
          button, .search-box {
            display: none;
          }
          body {
            background: #fff;
          }
        }
      </style>
    </head>
    <body>
    <div class="main-box">
      <div class="header">
        <h2>CREATED BY NAYA HUNAR </h2>
        <h3>You Tube- @nayahunarofficial</h3>
            <h3>Website- www.nayahunar.com</h3>
      </div>
      <div class="search-box">
        <label>Select Class:</label>
        <select id="sheetSelect"></select>
        <label>Roll No:</label>
        <input type="text" id="roll">
        <button onclick="findResult()">Submit</button>
        <button onclick="window.print()">Print</button>
      </div>
      <div id="result"></div>
    </div>
    <script>
    google.script.run.withSuccessHandler(function(sheets) {
      let select = document.getElementById("sheetSelect");
      sheets.forEach(function(name) {
        let option = document.createElement("option");
        option.value = name;
        option.text = name;
        select.appendChild(option);
      });
    }).getSheets();

    function findResult() {
      let roll = document.getElementById("roll").value;
      let sheet = document.getElementById("sheetSelect").value;
      if (!roll) {
        alert("Enter Roll Number");
        return;
      }
      google.script.run.withSuccessHandler(showResult)
        .getResult(sheet, roll);
    }

    function showResult(data) {
      let div = document.getElementById("result");
      if (!data) {
        div.innerHTML = "<p style='color:red;font-weight:bold;'>Result Not Found</p>";
        return;
      }
      let html = `
        <!-- Personal Details Table -->
        <table>
          <tr>
            <td class="label">Student Name</td>
            <td>${data.name}</td>
            <td rowspan="4" class="photo-cell">
              <img src="${data.photo}" onerror="this.src='https://via.placeholder.com/120x140'">
            </td>
          </tr>
          <tr>
            <td class="label">Father's Name</td>
            <td>${data.father}</td>
          </tr>
          <tr>
            <td class="label">Date of Birth</td>
            <td>${data.dob}</td>
          </tr>
          <tr>
            <td class="label">Roll Number</td>
            <td>${document.getElementById("roll").value}</td>
          </tr>
        </table>
        <!-- Marks Table -->
        <table>
          <tr>
            <th>Subject</th>
            <th>Marks Obtained</th>
          </tr>
      `;
      data.subjects.forEach(function(sub) {
        html += `
          <tr>
            <td style="text-align:center;">${sub.name}</td>
            <td style="text-align:center;">${sub.marks}</td>
          </tr>
        `;
      });
      html += `
        </table>
        <!-- Summary Table -->
        <table class="summary-table">
          <tr>
            <td>Total Marks</td>
            <td>${data.total} / ${data.totalMax}</td>
          </tr>
          <tr>
            <td>Percentage</td>
            <td>${data.percentage}%</td>
          </tr>
        </table>
      `;
      div.innerHTML = html;
    }
    </script>
    </body>
    </html>

    स्टेप-5

    इसके बाद Deploy पर क्लिक करें। नया Diployment पर क्लिक करें।

    Google Apps Script Se Powerful Result Finder Tool Banaye

    स्टेप-6

    Who has access में  Anyone सेलेक्ट करें। और Deploy पर क्लिक कर दें। यह सब होने के बाद आप का कोड़ डिप्लॉय हो जाएगा। और एक लिंक मिल जाएगा। वहीं लिंक आपके सिस्टम का रास्ता है यानि उसी से सभी लोग रिजल्ट देख पाएंगे। इस प्रकार आपका रिजल्ट फाइंडर तैयार हो जाता है।।

    निश्कर्ष

    मैंने आपको सभी जानकारी उपलब्ध करा दी हैं। फिर भी आपको कोई समस्या दिखाई पड़ती है तो आप कॉमेंट में अपना सबाल छोड़ दें। हम आपकी सहायता के लिए तैयार है। मैंने आपको जो कोड़ उपलब्ध कराएं है वह आप लोगों के लिए अभी तक तो बिल्कुल फ्री है। आगे के लिए नहीं कह सकता। और आप हमारे यूट्यूब चैनल से जुड़ जाइये। वहां पर हमने बहुत सरलता से सभी स्टेप बताएं हैं।
    धन्यवाद

    Post a Comment

    Previous Post Next Post

    All State Jobs

    Breaking Posts