GlideExcelParser – Scoped, Global

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 18 Minuten Lesedauer
  • Die GlideExcelParser Die API analysiert Excel-Dateien im XLSX-Format und greift auf Dateidaten in Skripts zu.

    Sie können verwenden GlideExcelParser Methoden in globalen und bereichsbezogenen Skripts. Verwenden Sie sn_impex Namespace-Bezeichner zum Erstellen eines GlideExcelParser-Objekts.

    GlideExcelParser – GlideExcelParser()

    Erstellt eine Instanz von GlideExcelParser.

    Der API-Namespace-Identifier „sn_impex“ muss beim Erstellen eines GlideExcelParser-Objekts verwendet werden.

    Tabelle : 1. Parameter
    Name Typ Beschreibung
    Keine
    var parser = new sn_impex.GlideExcelParser(); 
    var attachment = new GlideSysAttachment();
    // use attachment sys id of an excel file
    var attachmentStream = attachment.getContentStream(<attachment sys id>);
    
    parser.parse(attachmentStream); 
    
    //retrieve the column headers
    var headers = parser.getColumnHeaders();  
    var header1 = headers[0]; 
    var header2 = headers[1]; 
    
    //print headers
    gs.info(header1 + " " + header2); 
    
    while(parser.next()) { 
      var row = parser.getRow(); 
      //print row value for both columns   
      gs.info(row[header1] + ' ' + row[header2]) 
    }

    GlideExcelParser – close()

    Beendet die Verbindung zum Eingabe-Stream und gibt das Dokument frei.

    Tabelle : 2. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 3. Ergebnisse
    Typ Beschreibung
    void

    Dieses Beispiel zeigt, wie der Parser geschlossen wird, sobald die gesamte Dokumentverwaltung abgeschlossen ist.

    // iterate over each row in the excel sheet
    var attachment = new GlideSysAttachment();
    var attachmentStream = attachment.getContentStream(<attachment sys id>);
    var parser = new sn_impex.GlideExcelParser();
    parser.parse(attachmentStream);
    while (parser.next()) {
      // do something on each row
      var row = parser.getRow();
      gs.info(JSON.stringify(row));
    }
    parser.close(); // close the stream and release the document

    GlideExcelParser – getColumnHeaders()

    Gibt eine Liste von Spaltenkopfzeilen aus dem analysierten Dokument zurück.

    Tabelle : 4. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 5. Ergebnisse
    Typ Beschreibung
    Array Array von Zeichenfolgen von Spaltenkopfzeilen aus dem analysierten Dokument.

    Das folgende Beispiel zeigt, wie Sie einen Excel-Dateianhang mehrmals analysieren, um Spaltenüberschriften und Druckwerte jeder Zeile für jedes Arbeitsblatt abzurufen. Ergebnisse zeigen Spaltenüberschriften und Werte von drei separaten Blättern im Excel-Anhang an.

    var parser = new sn_impex.GlideExcelParser();
    
    var attachment = new GlideSysAttachment();
    
    // Use the attachment sys_id of an Excel file
    var attachmentStream = attachment.getContentStream("<attachment_sys_id>");
    
    // Set the source to be parsed
    parser.setSource(attachmentStream);
    
    // Get the worksheet names to be parsed in the Excel document
    var list_sheet_name = parser.getSheetNames();
    
    gs.info(" Sheet Names " + list_sheet_name.join(", "));
    
    // Iterate over each worksheet in the Excel workbook
    for (var i = 0; i < list_sheet_name.length; i++) {
        gs.info("**************************************************************************************");
        gs.info("Sheet name:    " + list_sheet_name[i]);
    
    // Set the worksheet name to be parsed
        parser.setSheetName(list_sheet_name[i]);
    
    // Parse each worksheet set using setSheetName()
        if (parser.parse()) {
            //retrieve the column headers
            var headers = parser.getColumnHeaders();
            var header1 = headers[0];
            var header2 = headers[1];
            var header3 = headers[2];
    
            //print headers
            gs.info(header1 + "\t||" + header2 + "\t||" + header3);
    
            // Iterate over each row in the worksheet
            while (parser.next()) {
                var row = parser.getRow();
                //print row value for both columns   
                gs.info(row[header1] + '\t|| ' + row[header2] + '\t||' + row[header3])
            }
        } else
            gs.info(parser.getErrorMessage());
    }

    Ausgabe:

    *** Script:  Sheet Names Incident Table, sys_user Table, knowledge Table
    *** Script: **************************************************************************************
    *** Script: Sheet name:    Incident Table
    *** Script: Number	||Opened	||Short description
    *** Script: INC0010112	|| 2019-07-29 11:48:43	||Assessment :  ATF Assessor
    *** Script: INC0010111	|| 2019-07-22 14:04:57	||ATF : Test1
    *** Script: INC0009009	|| 2018-08-30 01:06:16	||Unable to access the shared folder.
    *** Script: **************************************************************************************
    *** Script: Sheet name:    sys_user Table
    *** Script: User ID	||Name	||Email
    *** Script: abel.tuter	|| Abel Tuter	||abel.tuter@example.com
    *** Script: abraham.lincoln	|| Abraham Lincoln	||abraham.lincoln@example.com
    *** Script: adela.cervantsz	|| Adela Cervantsz	||adela.cervantsz@example.com
    *** Script: aileen.mottern	|| Aileen Mottern	||aileen.mottern@example.com
    *** Script: alejandra.prenatt	|| Alejandra Prenatt	||alejandra.prenatt@example.com
    *** Script: **************************************************************************************
    *** Script: Sheet name:    knowledge Table
    *** Script: Number	||Short description	||Author
    *** Script: KB99999999	|| Microsoft Outlook Issues	||System Administrator
    *** Script: KB0000033	|| Eclipse configuration for Android development	||System Administrator
    *** Script: KB0000032	|| Getting Around in Windows	||System Administrator
    *** Script: KB0000031	|| How can I find the MAC address of my Ethernet or
       wireless interface?	||Sam Sorokin

    GlideExcelParser – getErrorMessage()

    Gibt die Fehlermeldung zurück, wenn die parse()-Methode fehlschlägt.

    Tabelle : 6. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 7. Ergebnisse
    Typ Beschreibung
    Zeichenfolge Die Fehlermeldung.

    GlideExcelParser – getRow()

    Ruft die aktuellen Zeilenwerte und Kopfzeilen ab.

    Tabelle : 8. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 9. Ergebnisse
    Typ Beschreibung
    Objekt Die Zeilenkopfzeilen sind Eigenschaftsnamen, und die Zeilenwerte sind Eigenschaftswerte.

    Das folgende Beispiel zeigt, wie Sie einen Excel-Dateianhang mehrmals analysieren, um Spaltenüberschriften und Druckwerte jeder Zeile für jedes Arbeitsblatt abzurufen. Ergebnisse zeigen Spaltenüberschriften und Werte von drei separaten Blättern im Excel-Anhang an.

    var parser = new sn_impex.GlideExcelParser();
    
    var attachment = new GlideSysAttachment();
    
    // Use the attachment sys_id of an Excel file
    var attachmentStream = attachment.getContentStream("<attachment_sys_id>");
    
    // Set the source to be parsed
    parser.setSource(attachmentStream);
    
    // Get the worksheet names to be parsed in the Excel document
    var list_sheet_name = parser.getSheetNames();
    
    gs.info(" Sheet Names " + list_sheet_name.join(", "));
    
    // Iterate over each worksheet in the Excel workbook
    for (var i = 0; i < list_sheet_name.length; i++) {
        gs.info("**************************************************************************************");
        gs.info("Sheet name:    " + list_sheet_name[i]);
    
    // Set the worksheet name to be parsed
        parser.setSheetName(list_sheet_name[i]);
    
    // Parse each worksheet set using setSheetName()
        if (parser.parse()) {
            //retrieve the column headers
            var headers = parser.getColumnHeaders();
            var header1 = headers[0];
            var header2 = headers[1];
            var header3 = headers[2];
    
            //print headers
            gs.info(header1 + "\t||" + header2 + "\t||" + header3);
    
            // Iterate over each row in the worksheet
            while (parser.next()) {
                var row = parser.getRow();
                //print row value for both columns   
                gs.info(row[header1] + '\t|| ' + row[header2] + '\t||' + row[header3])
            }
        } else
            gs.info(parser.getErrorMessage());
    }

    Ausgabe:

    *** Script:  Sheet Names Incident Table, sys_user Table, knowledge Table
    *** Script: **************************************************************************************
    *** Script: Sheet name:    Incident Table
    *** Script: Number	||Opened	||Short description
    *** Script: INC0010112	|| 2019-07-29 11:48:43	||Assessment :  ATF Assessor
    *** Script: INC0010111	|| 2019-07-22 14:04:57	||ATF : Test1
    *** Script: INC0009009	|| 2018-08-30 01:06:16	||Unable to access the shared folder.
    *** Script: **************************************************************************************
    *** Script: Sheet name:    sys_user Table
    *** Script: User ID	||Name	||Email
    *** Script: abel.tuter	|| Abel Tuter	||abel.tuter@example.com
    *** Script: abraham.lincoln	|| Abraham Lincoln	||abraham.lincoln@example.com
    *** Script: adela.cervantsz	|| Adela Cervantsz	||adela.cervantsz@example.com
    *** Script: aileen.mottern	|| Aileen Mottern	||aileen.mottern@example.com
    *** Script: alejandra.prenatt	|| Alejandra Prenatt	||alejandra.prenatt@example.com
    *** Script: **************************************************************************************
    *** Script: Sheet name:    knowledge Table
    *** Script: Number	||Short description	||Author
    *** Script: KB99999999	|| Microsoft Outlook Issues	||System Administrator
    *** Script: KB0000033	|| Eclipse configuration for Android development	||System Administrator
    *** Script: KB0000032	|| Getting Around in Windows	||System Administrator
    *** Script: KB0000031	|| How can I find the MAC address of my Ethernet or
       wireless interface?	||Sam Sorokin

    GlideExcelParser – getSheetNames()

    Ruft eine Liste aller Arbeitsblattnamen in einer Excel-Arbeitsmappe ab.

    Tabelle : 10. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 11. Ergebnisse
    Typ Beschreibung
    Array Array von Zeichenfolgen als Arbeitsblattnamen, angeordnet von links nach rechts in der Arbeitsmappe. Die Ergebnisse enthalten alle Arbeitsblätter, die als ausgeblendet markiert sind.

    Das folgende Beispiel zeigt, wie Sie einen Excel-Dateianhang mehrmals analysieren, um Spaltenüberschriften und Druckwerte jeder Zeile für jedes Arbeitsblatt abzurufen. Ergebnisse zeigen Spaltenüberschriften und Werte von drei separaten Blättern im Excel-Anhang an.

    var parser = new sn_impex.GlideExcelParser();
    
    var attachment = new GlideSysAttachment();
    
    // Use the attachment sys_id of an Excel file
    var attachmentStream = attachment.getContentStream("<attachment_sys_id>");
    
    // Set the source to be parsed
    parser.setSource(attachmentStream);
    
    // Get the worksheet names to be parsed in the Excel document
    var list_sheet_name = parser.getSheetNames();
    
    gs.info(" Sheet Names " + list_sheet_name.join(", "));
    
    // Iterate over each worksheet in the Excel workbook
    for (var i = 0; i < list_sheet_name.length; i++) {
        gs.info("**************************************************************************************");
        gs.info("Sheet name:    " + list_sheet_name[i]);
    
    // Set the worksheet name to be parsed
        parser.setSheetName(list_sheet_name[i]);
    
    // Parse each worksheet set using setSheetName()
        if (parser.parse()) {
            //retrieve the column headers
            var headers = parser.getColumnHeaders();
            var header1 = headers[0];
            var header2 = headers[1];
            var header3 = headers[2];
    
            //print headers
            gs.info(header1 + "\t||" + header2 + "\t||" + header3);
    
            // Iterate over each row in the worksheet
            while (parser.next()) {
                var row = parser.getRow();
                //print row value for both columns   
                gs.info(row[header1] + '\t|| ' + row[header2] + '\t||' + row[header3])
            }
        } else
            gs.info(parser.getErrorMessage());
    }

    Ausgabe:

    *** Script:  Sheet Names Incident Table, sys_user Table, knowledge Table
    *** Script: **************************************************************************************
    *** Script: Sheet name:    Incident Table
    *** Script: Number	||Opened	||Short description
    *** Script: INC0010112	|| 2019-07-29 11:48:43	||Assessment :  ATF Assessor
    *** Script: INC0010111	|| 2019-07-22 14:04:57	||ATF : Test1
    *** Script: INC0009009	|| 2018-08-30 01:06:16	||Unable to access the shared folder.
    *** Script: **************************************************************************************
    *** Script: Sheet name:    sys_user Table
    *** Script: User ID	||Name	||Email
    *** Script: abel.tuter	|| Abel Tuter	||abel.tuter@example.com
    *** Script: abraham.lincoln	|| Abraham Lincoln	||abraham.lincoln@example.com
    *** Script: adela.cervantsz	|| Adela Cervantsz	||adela.cervantsz@example.com
    *** Script: aileen.mottern	|| Aileen Mottern	||aileen.mottern@example.com
    *** Script: alejandra.prenatt	|| Alejandra Prenatt	||alejandra.prenatt@example.com
    *** Script: **************************************************************************************
    *** Script: Sheet name:    knowledge Table
    *** Script: Number	||Short description	||Author
    *** Script: KB99999999	|| Microsoft Outlook Issues	||System Administrator
    *** Script: KB0000033	|| Eclipse configuration for Android development	||System Administrator
    *** Script: KB0000032	|| Getting Around in Windows	||System Administrator
    *** Script: KB0000031	|| How can I find the MAC address of my Ethernet or
       wireless interface?	||Sam Sorokin

    GlideExcelParser – getTableInfo()

    Ruft Tabellenspaltentypen und die maximale Zeichenlänge aus einer Tabelle oder einem CSV-Anhang ab.

    Hinweis:
    Diese Methode ist auf bereichsbezogene Anwendungen beschränkt.
    Tabelle : 12. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 13. Ergebnisse
    Typ Beschreibung
    Objekt Gibt Anhangsdaten als Zuordnung zurück, in der der Schlüssel der Spaltenname ist. Werte enthalten den Spaltentyp und die maximale Länge einer Zeichenfolge in der Spalte. Greifen Sie mit auf Rückgabewerte zu GetType() Und GetLength() Methoden.

    Dieses Beispiel zeigt, wie Daten aus einem 7-Spalten-Tabellenkalkulationsanhang einschließlich Zeilendaten wie 1, Meghan, 1/1/85, 1:00, 10,00%, 224-432-8582, ½.

    var attachmentSysId = "<sys_id>";
    var headerRowNumber = 6;
    
    var attachmentStream = new GlideSysAttachment().getContentStream(attachmentSysId);
    var parser = new sn_impex.GlideExcelParser();
    parser.setHeaderRowNumber(headerRowNumber);
    if (!parser.parse(attachmentStream)) {
        throw "Attachment could not be parsed as an Excel Spreadsheet " + attachmentSysId;
    }
    var tableInfo = parser.getTableInfo();
    for (var name in tableInfo) {
    gs.info('Column Name : ' + name + ', Type : ' + tableInfo[name].getType() + ', Max Length : ' + tableInfo[name].getLength());
    }

    Ausgabe:

    ProgressWorker: Attempted to get non-existent sys_progress_
    worker record, inserted 81b0ca5ddb59730090c9ff9dbf9619c4
    sn_appcreator: Column Name : My Number Col, Type : integer,
     Max Length : 1
    sn_appcreator: Column Name : My String Col, Type : string, 
     Max Length : 650
    sn_appcreator: Column Name : My Date Col, Type : glide_date,
     Max Length : 6
    sn_appcreator: Column Name : My DateTime Col, Type : 
     glide_date_time, Max Length : 7
    sn_appcreator: Column Name : My Percent Col, Type : decimal,
     Max Length : 6
    sn_appcreator: Column Name : My Phone Col, Type : string, 
     Max Length : 12
    sn_appcreator: Column Name : My Fraction Col, Type : decimal,
     Max Length : 3

    GlideExcelParser – next()

    Springt zur nächsten Zeile.

    Tabelle : 14. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 15. Ergebnisse
    Typ Beschreibung
    Boolean Gibt „true“ zurück, wenn eine nächste Zeile vorhanden ist. Andernfalls wird „false“ zurückgegeben.

    Das folgende Beispiel zeigt, wie Sie einen Excel-Dateianhang mehrmals analysieren, um Spaltenüberschriften und Druckwerte jeder Zeile für jedes Arbeitsblatt abzurufen. Ergebnisse zeigen Spaltenüberschriften und Werte von drei separaten Blättern im Excel-Anhang an.

    var parser = new sn_impex.GlideExcelParser();
    
    var attachment = new GlideSysAttachment();
    
    // Use the attachment sys_id of an Excel file
    var attachmentStream = attachment.getContentStream("<attachment_sys_id>");
    
    // Set the source to be parsed
    parser.setSource(attachmentStream);
    
    // Get the worksheet names to be parsed in the Excel document
    var list_sheet_name = parser.getSheetNames();
    
    gs.info(" Sheet Names " + list_sheet_name.join(", "));
    
    // Iterate over each worksheet in the Excel workbook
    for (var i = 0; i < list_sheet_name.length; i++) {
        gs.info("**************************************************************************************");
        gs.info("Sheet name:    " + list_sheet_name[i]);
    
    // Set the worksheet name to be parsed
        parser.setSheetName(list_sheet_name[i]);
    
    // Parse each worksheet set using setSheetName()
        if (parser.parse()) {
            //retrieve the column headers
            var headers = parser.getColumnHeaders();
            var header1 = headers[0];
            var header2 = headers[1];
            var header3 = headers[2];
    
            //print headers
            gs.info(header1 + "\t||" + header2 + "\t||" + header3);
    
            // Iterate over each row in the worksheet
            while (parser.next()) {
                var row = parser.getRow();
                //print row value for both columns   
                gs.info(row[header1] + '\t|| ' + row[header2] + '\t||' + row[header3])
            }
        } else
            gs.info(parser.getErrorMessage());
    }

    Ausgabe:

    *** Script:  Sheet Names Incident Table, sys_user Table, knowledge Table
    *** Script: **************************************************************************************
    *** Script: Sheet name:    Incident Table
    *** Script: Number	||Opened	||Short description
    *** Script: INC0010112	|| 2019-07-29 11:48:43	||Assessment :  ATF Assessor
    *** Script: INC0010111	|| 2019-07-22 14:04:57	||ATF : Test1
    *** Script: INC0009009	|| 2018-08-30 01:06:16	||Unable to access the shared folder.
    *** Script: **************************************************************************************
    *** Script: Sheet name:    sys_user Table
    *** Script: User ID	||Name	||Email
    *** Script: abel.tuter	|| Abel Tuter	||abel.tuter@example.com
    *** Script: abraham.lincoln	|| Abraham Lincoln	||abraham.lincoln@example.com
    *** Script: adela.cervantsz	|| Adela Cervantsz	||adela.cervantsz@example.com
    *** Script: aileen.mottern	|| Aileen Mottern	||aileen.mottern@example.com
    *** Script: alejandra.prenatt	|| Alejandra Prenatt	||alejandra.prenatt@example.com
    *** Script: **************************************************************************************
    *** Script: Sheet name:    knowledge Table
    *** Script: Number	||Short description	||Author
    *** Script: KB99999999	|| Microsoft Outlook Issues	||System Administrator
    *** Script: KB0000033	|| Eclipse configuration for Android development	||System Administrator
    *** Script: KB0000032	|| Getting Around in Windows	||System Administrator
    *** Script: KB0000031	|| How can I find the MAC address of my Ethernet or
       wireless interface?	||Sam Sorokin

    GlideExcelParser – Parse(InputStream inputStream)

    Analysiert ein XLSX-formatiertes Excel-Dokument.

    Tabelle : 16. Parameter
    Name Typ Beschreibung
    inputStream GlideScriptableInputStream Excel Dokument t wird als Eingabestrom bereitgestellt.
    Hinweis:
    Legen Sie diesen Wert nicht fest, wenn Sie verwenden SetSource() Methode zum mehrfachen Analysieren derselben Quelle.
    Tabelle : 17. Rückgaben
    Typ Beschreibung
    Boolean Kennzeichnung, die angibt, ob die Analyse erfolgreich war.
    Gültige Werte:
    • Wahr: Dokument wurde erfolgreich analysiert.
    • Falsch: Dokument wurde nicht erfolgreich analysiert.

    Beispiel aus einem geskripteten REST API-Skript, bei dem die Excel-Datei über einen Eingabestrom in der Anforderungsnutzlast gesendet wird.

    var parser = new sn_impex.GlideExcelParser();
    parser.parse(request.body.dataStream); 

    Das folgende Beispiel zeigt, wie Sie einen Excel-Dateianhang mehrmals analysieren, um Spaltenüberschriften und Druckwerte jeder Zeile für jedes Arbeitsblatt abzurufen. Ergebnisse zeigen Spaltenüberschriften und Werte von drei separaten Blättern im Excel-Anhang an.

    var parser = new sn_impex.GlideExcelParser();
    
    var attachment = new GlideSysAttachment();
    
    // Use the attachment sys_id of an Excel file
    var attachmentStream = attachment.getContentStream("<attachment_sys_id>");
    
    // Set the source to be parsed
    parser.setSource(attachmentStream);
    
    // Get the worksheet names to be parsed in the Excel document
    var list_sheet_name = parser.getSheetNames();
    
    gs.info(" Sheet Names " + list_sheet_name.join(", "));
    
    // Iterate over each worksheet in the Excel workbook
    for (var i = 0; i < list_sheet_name.length; i++) {
        gs.info("**************************************************************************************");
        gs.info("Sheet name:    " + list_sheet_name[i]);
    
    // Set the worksheet name to be parsed
        parser.setSheetName(list_sheet_name[i]);
    
    // Parse each worksheet set using setSheetName()
        if (parser.parse()) {
            //retrieve the column headers
            var headers = parser.getColumnHeaders();
            var header1 = headers[0];
            var header2 = headers[1];
            var header3 = headers[2];
    
            //print headers
            gs.info(header1 + "\t||" + header2 + "\t||" + header3);
    
            // Iterate over each row in the worksheet
            while (parser.next()) {
                var row = parser.getRow();
                //print row value for both columns   
                gs.info(row[header1] + '\t|| ' + row[header2] + '\t||' + row[header3])
            }
        } else
            gs.info(parser.getErrorMessage());
    }

    Ausgabe:

    *** Script:  Sheet Names Incident Table, sys_user Table, knowledge Table
    *** Script: **************************************************************************************
    *** Script: Sheet name:    Incident Table
    *** Script: Number	||Opened	||Short description
    *** Script: INC0010112	|| 2019-07-29 11:48:43	||Assessment :  ATF Assessor
    *** Script: INC0010111	|| 2019-07-22 14:04:57	||ATF : Test1
    *** Script: INC0009009	|| 2018-08-30 01:06:16	||Unable to access the shared folder.
    *** Script: **************************************************************************************
    *** Script: Sheet name:    sys_user Table
    *** Script: User ID	||Name	||Email
    *** Script: abel.tuter	|| Abel Tuter	||abel.tuter@example.com
    *** Script: abraham.lincoln	|| Abraham Lincoln	||abraham.lincoln@example.com
    *** Script: adela.cervantsz	|| Adela Cervantsz	||adela.cervantsz@example.com
    *** Script: aileen.mottern	|| Aileen Mottern	||aileen.mottern@example.com
    *** Script: alejandra.prenatt	|| Alejandra Prenatt	||alejandra.prenatt@example.com
    *** Script: **************************************************************************************
    *** Script: Sheet name:    knowledge Table
    *** Script: Number	||Short description	||Author
    *** Script: KB99999999	|| Microsoft Outlook Issues	||System Administrator
    *** Script: KB0000033	|| Eclipse configuration for Android development	||System Administrator
    *** Script: KB0000032	|| Getting Around in Windows	||System Administrator
    *** Script: KB0000031	|| How can I find the MAC address of my Ethernet or
       wireless interface?	||Sam Sorokin

    GlideExcelParser – setHeaderRowNumber(Number headerRowNumber)

    Legt die Anzahl der abzurufenden Kopfzeilen fest.

    Tabelle : 18. Parameter
    Name Typ Beschreibung
    headerRowNumber Zahl Abzurufende Kopfzeile.
    Tabelle : 19. Ergebnisse
    Typ Beschreibung
    void

    GlideExcelParser – setNullToEmpty(Boolean empty)

    Gibt einen leeren Wert anstelle von NULL zurück, wenn keine Excel-Zelle vorhanden ist.

    Tabelle : 20. Parameter
    Name Typ Beschreibung
    empty Boolean Bei „true“ geben nicht vorhandene Zellen einen leeren Wert zurück. Bei „false“ geben nicht vorhandene Zellen NULL zurück.
    Tabelle : 21. Ergebnisse
    Typ Beschreibung
    void

    GlideExcelParser – setSheetName(String sheetName)

    Legt den Namen des abzurufenden Blattes fest.

    Wenn setSheetNumber() und setSheetName() festgelegt werden, wird setSheetName() verwendet.

    Tabelle : 22. Parameter
    Name Typ Beschreibung
    sheetName Zeichenfolge Name des Blatts, das abgerufen werden soll.
    Tabelle : 23. Ergebnisse
    Typ Beschreibung
    void

    Das folgende Beispiel zeigt, wie Sie einen Excel-Dateianhang mehrmals analysieren, um Spaltenüberschriften und Druckwerte jeder Zeile für jedes Arbeitsblatt abzurufen. Ergebnisse zeigen Spaltenüberschriften und Werte von drei separaten Blättern im Excel-Anhang an.

    var parser = new sn_impex.GlideExcelParser();
    
    var attachment = new GlideSysAttachment();
    
    // Use the attachment sys_id of an Excel file
    var attachmentStream = attachment.getContentStream("<attachment_sys_id>");
    
    // Set the source to be parsed
    parser.setSource(attachmentStream);
    
    // Get the worksheet names to be parsed in the Excel document
    var list_sheet_name = parser.getSheetNames();
    
    gs.info(" Sheet Names " + list_sheet_name.join(", "));
    
    // Iterate over each worksheet in the Excel workbook
    for (var i = 0; i < list_sheet_name.length; i++) {
        gs.info("**************************************************************************************");
        gs.info("Sheet name:    " + list_sheet_name[i]);
    
    // Set the worksheet name to be parsed
        parser.setSheetName(list_sheet_name[i]);
    
    // Parse each worksheet set using setSheetName()
        if (parser.parse()) {
            //retrieve the column headers
            var headers = parser.getColumnHeaders();
            var header1 = headers[0];
            var header2 = headers[1];
            var header3 = headers[2];
    
            //print headers
            gs.info(header1 + "\t||" + header2 + "\t||" + header3);
    
            // Iterate over each row in the worksheet
            while (parser.next()) {
                var row = parser.getRow();
                //print row value for both columns   
                gs.info(row[header1] + '\t|| ' + row[header2] + '\t||' + row[header3])
            }
        } else
            gs.info(parser.getErrorMessage());
    }

    Ausgabe:

    *** Script:  Sheet Names Incident Table, sys_user Table, knowledge Table
    *** Script: **************************************************************************************
    *** Script: Sheet name:    Incident Table
    *** Script: Number	||Opened	||Short description
    *** Script: INC0010112	|| 2019-07-29 11:48:43	||Assessment :  ATF Assessor
    *** Script: INC0010111	|| 2019-07-22 14:04:57	||ATF : Test1
    *** Script: INC0009009	|| 2018-08-30 01:06:16	||Unable to access the shared folder.
    *** Script: **************************************************************************************
    *** Script: Sheet name:    sys_user Table
    *** Script: User ID	||Name	||Email
    *** Script: abel.tuter	|| Abel Tuter	||abel.tuter@example.com
    *** Script: abraham.lincoln	|| Abraham Lincoln	||abraham.lincoln@example.com
    *** Script: adela.cervantsz	|| Adela Cervantsz	||adela.cervantsz@example.com
    *** Script: aileen.mottern	|| Aileen Mottern	||aileen.mottern@example.com
    *** Script: alejandra.prenatt	|| Alejandra Prenatt	||alejandra.prenatt@example.com
    *** Script: **************************************************************************************
    *** Script: Sheet name:    knowledge Table
    *** Script: Number	||Short description	||Author
    *** Script: KB99999999	|| Microsoft Outlook Issues	||System Administrator
    *** Script: KB0000033	|| Eclipse configuration for Android development	||System Administrator
    *** Script: KB0000032	|| Getting Around in Windows	||System Administrator
    *** Script: KB0000031	|| How can I find the MAC address of my Ethernet or
       wireless interface?	||Sam Sorokin

    GlideExcelParser – setSheetNumber(Number sheetNumber)

    Legt die Anzahl des abzurufenden Excel-Blattes fest.

    Wenn setSheetNumber() und setSheetName() festgelegt werden, wird setSheetNumber() ignoriert.

    Tabelle : 24. Parameter
    Name Typ Beschreibung
    sheetNumber Zahl Abzurufende Excel-Blattnummer.
    Tabelle : 25. Ergebnisse
    Typ Beschreibung
    void

    Das folgende Beispiel zeigt, wie Sie diese Methode verwenden, um die Blattnummer einer angehängten Arbeitsmappe für eine Tabelle anzugeben, die gelesen werden soll.

    var parser = new sn_impex.GlideExcelParser(); 
    var attachment = new GlideSysAttachment();
    
    // Use the sys id of an Excel file in the sys_attachment table and copy the sys_id of attachment.
    var attachmentStream = attachment.getContentStream('178e0511138b6300026e32228144b04e');
    
    // Specify the sheet Number to be read, 0 denotes sheet 1, 1 denotes sheet 2, etc.
    parser.setSheetNumber("0");   
    
    parser.parse(attachmentStream);
    
    // retrieve the column headers (tests if on the correct sheet)
    var headers = parser.getColumnHeaders();
    var header1 = headers[0];
    var header2 = headers[1];
    var header3 = headers[2];
    
    // print headers
    gs.info('Header 1 value = ' +header1);
    gs.info('Header 2 value = ' +header2);
    gs.info('Header 3 value = ' +header3);

    Ausgabe:

    Header 1 value = sys_id
    Header 2 value = email
    Header 3 value = undefined

    GlideExcelParser – SetSource(InputStream inputStream)

    Definiert eine Eingabequelle zum mehrfachen Analysieren oder Analysieren jedes Arbeitsblatts in einer Excel-Datei.

    Tabelle : 26. Parameter
    Name Typ Beschreibung
    inputStream GlideScriptableInputStream Excel-Dokument, das als Eingabestrom bereitgestellt wird.
    Tabelle : 27. Rückgaben
    Typ Beschreibung
    Keine

    Das folgende Beispiel zeigt, wie Sie einen Excel-Dateianhang mehrmals analysieren, um Spaltenüberschriften und Druckwerte jeder Zeile für jedes Arbeitsblatt abzurufen. Ergebnisse zeigen Spaltenüberschriften und Werte von drei separaten Blättern im Excel-Anhang an.

    var parser = new sn_impex.GlideExcelParser();
    
    var attachment = new GlideSysAttachment();
    
    // Use the attachment sys_id of an Excel file
    var attachmentStream = attachment.getContentStream("<attachment_sys_id>");
    
    // Set the source to be parsed
    parser.setSource(attachmentStream);
    
    // Get the worksheet names to be parsed in the Excel document
    var list_sheet_name = parser.getSheetNames();
    
    gs.info(" Sheet Names " + list_sheet_name.join(", "));
    
    // Iterate over each worksheet in the Excel workbook
    for (var i = 0; i < list_sheet_name.length; i++) {
        gs.info("**************************************************************************************");
        gs.info("Sheet name:    " + list_sheet_name[i]);
    
    // Set the worksheet name to be parsed
        parser.setSheetName(list_sheet_name[i]);
    
    // Parse each worksheet set using setSheetName()
        if (parser.parse()) {
            //retrieve the column headers
            var headers = parser.getColumnHeaders();
            var header1 = headers[0];
            var header2 = headers[1];
            var header3 = headers[2];
    
            //print headers
            gs.info(header1 + "\t||" + header2 + "\t||" + header3);
    
            // Iterate over each row in the worksheet
            while (parser.next()) {
                var row = parser.getRow();
                //print row value for both columns   
                gs.info(row[header1] + '\t|| ' + row[header2] + '\t||' + row[header3])
            }
        } else
            gs.info(parser.getErrorMessage());
    }

    Ausgabe:

    *** Script:  Sheet Names Incident Table, sys_user Table, knowledge Table
    *** Script: **************************************************************************************
    *** Script: Sheet name:    Incident Table
    *** Script: Number	||Opened	||Short description
    *** Script: INC0010112	|| 2019-07-29 11:48:43	||Assessment :  ATF Assessor
    *** Script: INC0010111	|| 2019-07-22 14:04:57	||ATF : Test1
    *** Script: INC0009009	|| 2018-08-30 01:06:16	||Unable to access the shared folder.
    *** Script: **************************************************************************************
    *** Script: Sheet name:    sys_user Table
    *** Script: User ID	||Name	||Email
    *** Script: abel.tuter	|| Abel Tuter	||abel.tuter@example.com
    *** Script: abraham.lincoln	|| Abraham Lincoln	||abraham.lincoln@example.com
    *** Script: adela.cervantsz	|| Adela Cervantsz	||adela.cervantsz@example.com
    *** Script: aileen.mottern	|| Aileen Mottern	||aileen.mottern@example.com
    *** Script: alejandra.prenatt	|| Alejandra Prenatt	||alejandra.prenatt@example.com
    *** Script: **************************************************************************************
    *** Script: Sheet name:    knowledge Table
    *** Script: Number	||Short description	||Author
    *** Script: KB99999999	|| Microsoft Outlook Issues	||System Administrator
    *** Script: KB0000033	|| Eclipse configuration for Android development	||System Administrator
    *** Script: KB0000032	|| Getting Around in Windows	||System Administrator
    *** Script: KB0000031	|| How can I find the MAC address of my Ethernet or
       wireless interface?	||Sam Sorokin