דילוג לתוכן
  • חוקי הפורום
  • פופולרי
  • לא נפתר
  • משתמשים
  • חיפוש גוגל בפורום
  • צור קשר
עיצובים
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • ברירת מחדל (ללא עיצוב (ברירת מחדל))
  • ללא עיצוב (ברירת מחדל)
כיווץ
מתמחים טופ
  1. דף הבית
  2. מחשבים וטכנולוגיה
  3. עזרה הדדית - מחשבים וטכנולוגיה
  4. עזרה | עזרה בקוד גוגל סקריפט ליבוא מימות לשיטס

עזרה | עזרה בקוד גוגל סקריפט ליבוא מימות לשיטס

מתוזמן נעוץ נעול הועבר עזרה הדדית - מחשבים וטכנולוגיה
8 פוסטים 2 כותבים 213 צפיות 2 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • כ מנותק
    כ מנותק
    כבוד הרב
    כתב ב נערך לאחרונה על ידי
    #1

    אני צריך לייבא קובץ ymgr של ימות המשיח (קובץ html) לטבלת גוגל שיטס בדומה לנוסחה IMPORTHTM
    אני מעדיף את זה דרך סקריפט כי בנוסחה זה הרבה פעמים נתקע וכל הזמן הזה אין לי את התוכן הקודם ועוד הרבה יתרונות
    בפועל הקוד הזה מוחק את התוכן הקודם בטבלה ובלוג הוא מדפיס את הטבלה רק הוא לא מכניס את הטבלה המיובאת לשיטס
    אודה מאוד למי שיוכל להאיר את עיני

    function importAndSortData() {
      // מציג את הגישה לגיליון הפעיל באפליקציית גיליון האלקטרוני של Google.
      var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
      
      // מגדיר את ה-URL שיכיל את המידע שיש לייבא ולמיין.
      var url = "https://call2all.co.il/ym/api/RenderYMGRFile?wath=ivr2:Log/LogQueueAll.2023-06-12.ymgr&convertType=html&notLoadLang=0&token=igWGG9ZLy2fe";
    
      // מציג את ה-URL בלוג.
      Logger.log("URL: " + url);
    
      // מבצע בקשת HTTP GET לכתובת ה-URL ומקבל את התגובה.
      var response = UrlFetchApp.fetch(url);
      var content = response.getContentText();
    
      // מציג את תוכן התגובה בלוג.
      Logger.log("תוכן התגובה: " + content);
    
      // מוצא את מיקום התחלת הטבלה בתוך תוכן התגובה.
      var tableStartIndex = content.indexOf("<table");
      // מוצא את מיקום סיום הטבלה בתוך תוכן התגובה.
      var tableEndIndex = content.indexOf("</table>");
    
      // מציג את מיקום התחלת הטבלה ומיקום סיום הטבלה בלוג.
      Logger.log("מיקום תחילת הטבלה: " + tableStartIndex);
      Logger.log("מיקום סיום הטבלה: " + tableEndIndex);
    
      // אם לא נמצאה טבלה תקינה בתוך התוכן שהתקבל, מזריק שגיאה.
      if (tableStartIndex === -1 || tableEndIndex === -1) {
        throw new Error("לא נמצאה טבלה תקינה בתוך התוכן שהוזן");
      }
    
      // חותך את קוד ה-HTML של הטבלה מתוך תוכן התגובה.
      var tableHtml = content.substring(tableStartIndex, tableEndIndex + 8);
    
      // מציג את קוד ה-HTML של הטבלה בלוג.
      Logger.log("קוד ה-HTML של הטבלה: " + tableHtml);
    
      // מנתח את קוד ה-HTML ומקבל את האיבר הראשי של הטבלה.
      var table = XmlService.parse(tableHtml).getRootElement();
      var rows = table.getChildren("tr");
    
      var data = [];
    
      // לולאה על כל שורה בטבלה.
      for (var i = 0; i < rows.length; i++) {
        var cells = rows[i].getChildren("td");
        var rowData = [];
    
        // לולאה על כל תא בשורה.
        for (var j = 0; j < cells.length; j++) {
          var cellValue = cells[j].getText();
          rowData.push(cellValue);
        }
    
        data.push(rowData);
      }
    
      // מציג את הנתונים לפני המיון בלוג.
      Logger.log("נתונים לפני המיון: " + JSON.stringify(data));
    
      // ממיין את הנתונים לפי תוכן התא השני בכל שורה.
      var sortedData = data.sort(function(a, b) {
        var valueA = a[2];
        var valueB = b[2];
    
        if (typeof valueA === "string") {
          valueA = valueA.toLowerCase();
        }
    
        if (typeof valueB === "string") {
          valueB = valueB.toLowerCase();
        }
    
        if (valueA < valueB) {
          return -1;
        }
    
        if (valueA > valueB) {
          return 1;
        }
    
        return 0;
      });
    
      // מציג את הנתונים לאחר המיון בלוג.
      Logger.log("נתונים ממוינים: " + JSON.stringify(sortedData));
    
      // מנקה את כל התוכן בגיליון.
      sheet.getDataRange().clearContent();
    
      // מכניס את הנתונים הממוינים לגיליון מהתא A1 והלאה.
      if (sortedData.length > 0) {
      var numRows = sortedData.length;
      var numColumns = sortedData[0].length;
      sheet.getRange(1, 1, numRows, numColumns).setValues(sortedData);
      }
    
    
      // הודעת רישום
      var executionTime = new Date();
      var functionName = "importAndSortData";
      var logMessage = "פונקציה " + functionName + " בוצעה בהצלחה בתאריך " + executionTime + ".";
      Logger.log(logMessage);
    
      // מציג את הנתונים הממוינים בלוג.
      Logger.log("נתונים ממוינים: " + JSON.stringify(sortedData));
    
      // מציג את טווח הנתונים בגיליון בלוג.
      Logger.log("טווח הנתונים: " + sheet.getDataRange().getA1Notation());
    }
    
    
    מיכאלושמ תגובה 1 תגובה אחרונה
    0
    • כ כבוד הרב מחק נושא זה ב
    • כ כבוד הרב שחזר נושא זה ב
    • כ כבוד הרב

      אני צריך לייבא קובץ ymgr של ימות המשיח (קובץ html) לטבלת גוגל שיטס בדומה לנוסחה IMPORTHTM
      אני מעדיף את זה דרך סקריפט כי בנוסחה זה הרבה פעמים נתקע וכל הזמן הזה אין לי את התוכן הקודם ועוד הרבה יתרונות
      בפועל הקוד הזה מוחק את התוכן הקודם בטבלה ובלוג הוא מדפיס את הטבלה רק הוא לא מכניס את הטבלה המיובאת לשיטס
      אודה מאוד למי שיוכל להאיר את עיני

      function importAndSortData() {
        // מציג את הגישה לגיליון הפעיל באפליקציית גיליון האלקטרוני של Google.
        var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
        
        // מגדיר את ה-URL שיכיל את המידע שיש לייבא ולמיין.
        var url = "https://call2all.co.il/ym/api/RenderYMGRFile?wath=ivr2:Log/LogQueueAll.2023-06-12.ymgr&convertType=html&notLoadLang=0&token=igWGG9ZLy2fe";
      
        // מציג את ה-URL בלוג.
        Logger.log("URL: " + url);
      
        // מבצע בקשת HTTP GET לכתובת ה-URL ומקבל את התגובה.
        var response = UrlFetchApp.fetch(url);
        var content = response.getContentText();
      
        // מציג את תוכן התגובה בלוג.
        Logger.log("תוכן התגובה: " + content);
      
        // מוצא את מיקום התחלת הטבלה בתוך תוכן התגובה.
        var tableStartIndex = content.indexOf("<table");
        // מוצא את מיקום סיום הטבלה בתוך תוכן התגובה.
        var tableEndIndex = content.indexOf("</table>");
      
        // מציג את מיקום התחלת הטבלה ומיקום סיום הטבלה בלוג.
        Logger.log("מיקום תחילת הטבלה: " + tableStartIndex);
        Logger.log("מיקום סיום הטבלה: " + tableEndIndex);
      
        // אם לא נמצאה טבלה תקינה בתוך התוכן שהתקבל, מזריק שגיאה.
        if (tableStartIndex === -1 || tableEndIndex === -1) {
          throw new Error("לא נמצאה טבלה תקינה בתוך התוכן שהוזן");
        }
      
        // חותך את קוד ה-HTML של הטבלה מתוך תוכן התגובה.
        var tableHtml = content.substring(tableStartIndex, tableEndIndex + 8);
      
        // מציג את קוד ה-HTML של הטבלה בלוג.
        Logger.log("קוד ה-HTML של הטבלה: " + tableHtml);
      
        // מנתח את קוד ה-HTML ומקבל את האיבר הראשי של הטבלה.
        var table = XmlService.parse(tableHtml).getRootElement();
        var rows = table.getChildren("tr");
      
        var data = [];
      
        // לולאה על כל שורה בטבלה.
        for (var i = 0; i < rows.length; i++) {
          var cells = rows[i].getChildren("td");
          var rowData = [];
      
          // לולאה על כל תא בשורה.
          for (var j = 0; j < cells.length; j++) {
            var cellValue = cells[j].getText();
            rowData.push(cellValue);
          }
      
          data.push(rowData);
        }
      
        // מציג את הנתונים לפני המיון בלוג.
        Logger.log("נתונים לפני המיון: " + JSON.stringify(data));
      
        // ממיין את הנתונים לפי תוכן התא השני בכל שורה.
        var sortedData = data.sort(function(a, b) {
          var valueA = a[2];
          var valueB = b[2];
      
          if (typeof valueA === "string") {
            valueA = valueA.toLowerCase();
          }
      
          if (typeof valueB === "string") {
            valueB = valueB.toLowerCase();
          }
      
          if (valueA < valueB) {
            return -1;
          }
      
          if (valueA > valueB) {
            return 1;
          }
      
          return 0;
        });
      
        // מציג את הנתונים לאחר המיון בלוג.
        Logger.log("נתונים ממוינים: " + JSON.stringify(sortedData));
      
        // מנקה את כל התוכן בגיליון.
        sheet.getDataRange().clearContent();
      
        // מכניס את הנתונים הממוינים לגיליון מהתא A1 והלאה.
        if (sortedData.length > 0) {
        var numRows = sortedData.length;
        var numColumns = sortedData[0].length;
        sheet.getRange(1, 1, numRows, numColumns).setValues(sortedData);
        }
      
      
        // הודעת רישום
        var executionTime = new Date();
        var functionName = "importAndSortData";
        var logMessage = "פונקציה " + functionName + " בוצעה בהצלחה בתאריך " + executionTime + ".";
        Logger.log(logMessage);
      
        // מציג את הנתונים הממוינים בלוג.
        Logger.log("נתונים ממוינים: " + JSON.stringify(sortedData));
      
        // מציג את טווח הנתונים בגיליון בלוג.
        Logger.log("טווח הנתונים: " + sheet.getDataRange().getA1Notation());
      }
      
      
      מיכאלושמ מנותק
      מיכאלושמ מנותק
      מיכאלוש
      מדריכים
      כתב ב נערך לאחרונה על ידי
      #2

      @כבוד-הרב למה ב CSV ולא ב JSON ?

      כ תגובה 1 תגובה אחרונה
      1
      • מיכאלושמ מיכאלוש

        @כבוד-הרב למה ב CSV ולא ב JSON ?

        כ מנותק
        כ מנותק
        כבוד הרב
        כתב ב נערך לאחרונה על ידי
        #3

        @מיכאלוש זה יפטור לי את הבעיה?

        מיכאלושמ תגובה 1 תגובה אחרונה
        0
        • כ כבוד הרב

          @מיכאלוש זה יפטור לי את הבעיה?

          מיכאלושמ מנותק
          מיכאלושמ מנותק
          מיכאלוש
          מדריכים
          כתב ב נערך לאחרונה על ידי
          #4

          @כבוד-הרב זה יקצר לך את הקוד בהרבה

          @כבוד-הרב כתב בעזרה | עזרה בקוד גוגל סקריפט ליבוא מימות לשיטס:

          זה יפטור לי את הבעיה?

          מאיפה הבעייה שורה 95 ?

          כ תגובה 1 תגובה אחרונה
          1
          • מיכאלושמ מיכאלוש

            @כבוד-הרב זה יקצר לך את הקוד בהרבה

            @כבוד-הרב כתב בעזרה | עזרה בקוד גוגל סקריפט ליבוא מימות לשיטס:

            זה יפטור לי את הבעיה?

            מאיפה הבעייה שורה 95 ?

            כ מנותק
            כ מנותק
            כבוד הרב
            כתב ב נערך לאחרונה על ידי
            #5

            @מיכאלוש אין שום בעיה רק בפועל הוא לא מיבא את הנתונים לטבלה בלוג הוא מציג אותם יופי

            מיכאלושמ תגובה 1 תגובה אחרונה
            0
            • כ כבוד הרב

              @מיכאלוש אין שום בעיה רק בפועל הוא לא מיבא את הנתונים לטבלה בלוג הוא מציג אותם יופי

              מיכאלושמ מנותק
              מיכאלושמ מנותק
              מיכאלוש
              מדריכים
              כתב ב נערך לאחרונה על ידי
              #6

              @כבוד-הרב כוונתי היתה איזה שורה בקוד הייתה אמורה להכניס את הנתונים

              כ 2 תגובות תגובה אחרונה
              1
              • מיכאלושמ מיכאלוש

                @כבוד-הרב כוונתי היתה איזה שורה בקוד הייתה אמורה להכניס את הנתונים

                כ מנותק
                כ מנותק
                כבוד הרב
                כתב ב נערך לאחרונה על ידי
                #7

                @מיכאלוש כן אבל אם יש לך צורה יותר טובה אני יודה לך מאוד אם תוכל לשתף אותי

                תגובה 1 תגובה אחרונה
                0
                • מיכאלושמ מיכאלוש

                  @כבוד-הרב כוונתי היתה איזה שורה בקוד הייתה אמורה להכניס את הנתונים

                  כ מנותק
                  כ מנותק
                  כבוד הרב
                  כתב ב נערך לאחרונה על ידי
                  #8

                  @מיכאלוש הסתדרתי הנה
                  תודה רבה

                  function importAndSortData() {
                    // מציג את הגישה לגיליון הפעיל באפליקציית גיליון האלקטרוני של Google.
                    var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
                  
                    // מגדיר את הקישור לייבוא הנתונים מקובץ JSON.
                    var url = "https://call2all.co.il/ym/api/RenderYMGRFile?wath=ivr2:Log/LogQueueAll.2023-06-12.ymgr&convertType=json&notLoadLang=0&token=sscqLkQQg";
                  
                    // מציג את הקישור בלוג.
                    Logger.log("URL: " + url);
                  
                    // מבצע בקשת HTTP GET לכתובת ה-URL ומקבל את התגובה.
                    var response = UrlFetchApp.fetch(url);
                    var content = response.getContentText();
                  
                    // מציג את תוכן התגובה בלוג.
                    Logger.log("תוכן התגובה: " + content);
                  
                    // ממיר את התוכן של התגובה לאובייקט JavaScript.
                    var jsonData = JSON.parse(content);
                  
                    // מציג את הנתונים בלוג.
                    Logger.log("נתונים: " + JSON.stringify(jsonData));
                  
                    var data = jsonData.data;
                  
                    // מציג את הנתונים לפני המיון בלוג.
                    Logger.log("נתונים לפני המיון: " + JSON.stringify(data));
                  
                    // ממיין את הנתונים לפי ערכי התא השני בכל שורה.
                    var sortedData = data.sort(function(a, b) {
                      var valueA = a["שעה"];
                      var valueB = b["שעה"];
                  
                      if (typeof valueA === "string") {
                        valueA = valueA.toLowerCase();
                      }
                  
                      if (typeof valueB === "string") {
                        valueB = valueB.toLowerCase();
                      }
                  
                      if (valueA < valueB) {
                        return -1;
                      }
                  
                      if (valueA > valueB) {
                        return 1;
                      }
                  
                      return 0;
                    });
                  
                    // מציג את הנתונים לאחר המיון בלוג.
                    Logger.log("נתונים ממוינים: " + JSON.stringify(sortedData));
                  
                    // מנקה את כל התוכן בגיליון.
                    sheet.getDataRange().clearContent();
                  
                    // מכניס את הנתונים הממוינים לגיליון מהתא A1 והלאה.
                    if (sortedData.length > 0) {
                      var numRows = sortedData.length;
                      var numColumns = 8;
                      var rangeValues = [];
                  
                      for (var i = 0; i < numRows; i++) {
                        var rowData = [];
                  
                        rowData.push(sortedData[i]["שלוחה"]);
                        rowData.push(sortedData[i]["טלפון"]);
                        rowData.push(sortedData[i]["שעה"]);
                        rowData.push(sortedData[i]["מצב התור"]);
                        rowData.push(sortedData[i]["אורך המתנה למענה"]);
                        rowData.push(sortedData[i]["אורך מענה שיחה"]);
                        rowData.push(sortedData[i]["מספר שענה"]);
                        rowData.push(sortedData[i]["QueueRecordPath"]);
                  
                        rangeValues.push(rowData);
                      }
                  
                      sheet.getRange(1, 1, numRows, numColumns).setValues(rangeValues);
                    }
                  
                    // הודעת רישום
                    var executionTime = new Date();
                    var functionName = "importAndSortData";
                    var logMessage = "פונקציה " + functionName + " בוצעה בהצלחה בתאריך " + executionTime + ".";
                    Logger.log(logMessage);
                  
                    // מציג את הנתונים הממוינים בלוג.
                    Logger.log("נתונים ממוינים: " + JSON.stringify(sortedData));
                  
                    // מציג את טווח הנתונים בגיליון בלוג.
                    Logger.log("טווח הנתונים: " + sheet.getDataRange().getA1Notation());
                  }
                  
                  
                  תגובה 1 תגובה אחרונה
                  3

                  • התחברות

                  • אין לך חשבון עדיין? הרשמה

                  • התחברו או הירשמו כדי לחפש.
                  • פוסט ראשון
                    פוסט אחרון
                  0
                  • חוקי הפורום
                  • פופולרי
                  • לא נפתר
                  • משתמשים
                  • חיפוש גוגל בפורום
                  • צור קשר