---
sourceDocument: Xanadu-API-Referenz
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/de-DE/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - de-DE

ft:publication_title :

    - Xanadu-API-Referenz

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# GlideExcelParser -- Scoped, Global

# GlideExcelParser -- Scoped, Global {#ariaid-title1}

* Freigeben Version: Xanadu
* 
* Aktualisiert 1. August 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 18 Minuten Lesedauer

Die GlideExcelParser- API analysiert Excel-Dateien im XLSX-Format und greift auf Dateidaten in Skripts zu.

Sie können die GlideExcelParser- Methoden in globalen und bereichsbezogenen Skripts verwenden. Verwenden Sie den Namespace-Bezeichner `sn_impex`, um ein GlideExcelParser-Objekt zu erstellen.

## GlideExcelParser -- GlideExcelParser() {#ariaid-title2}

Erstellt eine Instanz von GlideExcelParser.
Der API-Namespace-Identifier „sn_impex" muss beim Erstellen eines GlideExcelParser-Objekts verwendet werden.
{#GEPS-GlideExcelParser__table_fwc_dyb_4z__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| Keine |   |   |
[Tabelle : 1. Parameter]

{#GEPS-GlideExcelParser__table_fwc_dyb_4z}  

    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() {#ariaid-title3}

Beendet die Verbindung zum Eingabe-Stream und gibt das Dokument frei.
{#GEPS-close__table_ibr_rrh_4z__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| Keine |   |   |
[Tabelle : 2. Parameter]

{#GEPS-close__table_ibr_rrh_4z} {#GEPS-close__table_jbr_rrh_4z__entry__2}

| Typ | Beschreibung |
|-|-|
| void |   |
[Tabelle : 3. Ergebnisse]

{#GEPS-close__table_jbr_rrh_4z}  
In diesem Beispiel wird gezeigt, 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() {#ariaid-title4}

Gibt eine Liste von Spaltenkopfzeilen aus dem analysierten Dokument zurück.
{#GEPS-getColumnHeaders__table_mkv_d3h_4z__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| Keine |   |   |
[Tabelle : 4. Parameter]

{#GEPS-getColumnHeaders__table_mkv_d3h_4z} {#GEPS-getColumnHeaders__table_nkv_d3h_4z__entry__2}

| Typ | Beschreibung |
|-|-|
| Array | Array von Zeichenfolgen von Spaltenkopfzeilen aus dem analysierten Dokument. |
[Tabelle : 5. Ergebnisse]

{#GEPS-getColumnHeaders__table_nkv_d3h_4z}  
Das folgende Beispiel zeigt, wie Sie einen Excel-Dateianhang mehrmals analysieren, um Spaltenheader abzurufen und die Werte jeder Zeile für jedes Arbeitsblatt zu drucken. Die 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() {#ariaid-title5}

Gibt die Fehlermeldung zurück, wenn die parse()-Methode fehlschlägt.
{#GEPS-getErrorMessage__table_rsc_2rh_4z__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| Keine |   |   |
[Tabelle : 6. Parameter]

{#GEPS-getErrorMessage__table_rsc_2rh_4z} {#GEPS-getErrorMessage__table_ssc_2rh_4z__entry__2}

| Typ | Beschreibung |
|-|-|
| Zeichenfolge | Die Fehlermeldung. |
[Tabelle : 7. Ergebnisse]

{#GEPS-getErrorMessage__table_ssc_2rh_4z}

## GlideExcelParser -- getRow() {#ariaid-title6}

Ruft die aktuellen Zeilenwerte und Kopfzeilen ab.
{#GEPS-getRow__table_g4y_pqh_4z__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| Keine |   |   |
[Tabelle : 8. Parameter]

{#GEPS-getRow__table_g4y_pqh_4z} {#GEPS-getRow__table_h4y_pqh_4z__entry__2}

| Typ | Beschreibung |
|-|-|
| Objekt | Die Zeilenkopfzeilen sind Eigenschaftsnamen, und die Zeilenwerte sind Eigenschaftswerte. |
[Tabelle : 9. Ergebnisse]

{#GEPS-getRow__table_h4y_pqh_4z}  
Das folgende Beispiel zeigt, wie Sie einen Excel-Dateianhang mehrmals analysieren, um Spaltenheader abzurufen und die Werte jeder Zeile für jedes Arbeitsblatt zu drucken. Die 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() {#ariaid-title7}

Ruft eine Liste aller Arbeitsblattnamen in einer Excel-Arbeitsmappe ab.
{#GEPS-getSheetNames__table_cjs_w4p_pnb__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| Keine |   |   |
[Tabelle : 10. Parameter]

{#GEPS-getSheetNames__table_cjs_w4p_pnb} {#GEPS-getSheetNames__table_djs_w4p_pnb__entry__2}

| Typ | Beschreibung |
|-|-|
| Array | Array von Zeichenfolgen als Arbeitsblattnamen, sortiert nach Position von links nach rechts in der Arbeitsmappe. Ergebnisse umfassen alle als ausgeblendet markierten Arbeitsblätter. |
[Tabelle : 11. Ergebnisse]

{#GEPS-getSheetNames__table_djs_w4p_pnb}  
Das folgende Beispiel zeigt, wie Sie einen Excel-Dateianhang mehrmals analysieren, um Spaltenheader abzurufen und die Werte jeder Zeile für jedes Arbeitsblatt zu drucken. Die 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() {#ariaid-title8}

Ruft Tabellenspaltentypen und die maximale Zeichenlänge aus einer Tabelle oder einem CSV-Anhang ab.
Hinweis:  
Diese Methode ist auf bereichsbezogene Anwendungen beschränkt.
{#GEPS-getTableInfo__table_gnh_csz_4hb__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| Keine |   |   |
[Tabelle : 12. Parameter]

{#GEPS-getTableInfo__table_gnh_csz_4hb} {#GEPS-getTableInfo__table_hnh_csz_4hb__entry__2}

| Typ | Beschreibung |
|-|-|
| Objekt | Gibt Anhangdaten als Zuordnung zurück, in der der Spaltenname der Schlüssel ist. Werte enthalten den Spaltentyp und die maximale Länge einer Zeichenfolge in der Spalte. Greifen Sie mit den Methoden getType() und getLength() auf Rückgabewerte zu. |
[Tabelle : 13. Ergebnisse]

{#GEPS-getTableInfo__table_hnh_csz_4hb}  
Dieses Beispiel zeigt, wie Daten aus einem 7-Spalten-Tabellenanhang mit Zeilendaten wie 1, Meghan, 1/1/85, 1:00 AM, 10.00%, 224-432-8582, halb.

    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() {#ariaid-title9}

Springt zur nächsten Zeile.
{#GEPS-next__table_dd1_2qh_4z__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| Keine |   |   |
[Tabelle : 14. Parameter]

{#GEPS-next__table_dd1_2qh_4z} {#GEPS-next__table_ed1_2qh_4z__entry__2}

| Typ | Beschreibung |
|-|-|
| Boolean | Gibt „true" zurück, wenn eine nächste Zeile vorhanden ist. Andernfalls wird „false" zurückgegeben. |
[Tabelle : 15. Ergebnisse]

{#GEPS-next__table_ed1_2qh_4z}  
Das folgende Beispiel zeigt, wie Sie einen Excel-Dateianhang mehrmals analysieren, um Spaltenheader abzurufen und die Werte jeder Zeile für jedes Arbeitsblatt zu drucken. Die 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) {#ariaid-title10}

Analysiert ein XLSX-formatiertes Excel-Dokument.
{#GEPS-parse_GSIS__table_u2j_lch_4z__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| inputStream | [GlideScriptableInputStream](https://servicenow-prod.fluidtopics.net/atpUHeJcKs61yPJVqCiQcw "Ein GlideScriptableInputStream-Objekt kann nicht direkt instanziiert werden, wird jedoch als undurchsichtiges Objekt verwendet, das verwendet wird, um einen Eingabestream aus GlideSysAttachment.getContentStream() mit anderen Streaming-APIs zu verbinden.") | Excel-Dokument wird als Eingabestream bereitgestellt. Hinweis: Legen Sie diesen Wert nicht fest, wenn Sie die Methode [„setSource()](https://servicenow-prod.fluidtopics.net/QD_Twt7DkEQW5UyHWxQmlw#GEPS-setSource_O "Definiert eine Eingabequelle für die mehrfache Analyse oder die Analyse jedes Arbeitsblatts in einer Excel-Datei.") " verwenden, um dieselbe Quelle mehrmals zu analysieren. |
[Tabelle : 16. Parameter]

{#GEPS-parse_GSIS__table_u2j_lch_4z} {#GEPS-parse_GSIS__table_v2j_lch_4z__entry__2}

| 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. {#GEPS-parse_GSIS__ul_mkg_l5t_vnb} |
[Tabelle : 17. Ergebnisse]

{#GEPS-parse_GSIS__table_v2j_lch_4z}  
Beispiel aus einem REST API-Skript, bei dem die Excel-Datei über einen Eingabestream 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 Spaltenheader abzurufen und die Werte jeder Zeile für jedes Arbeitsblatt zu drucken. Die 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) {#ariaid-title11}

Legt die Anzahl der abzurufenden Kopfzeilen fest.
{#GEPS-setHeaderRowNumber_N__table_h1d_kfh_4z__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| headerRowNumber | Zahl | Abzurufende Kopfzeile. |
[Tabelle : 18. Parameter]

{#GEPS-setHeaderRowNumber_N__table_h1d_kfh_4z} {#GEPS-setHeaderRowNumber_N__table_i1d_kfh_4z__entry__2}

| Typ | Beschreibung |
|-|-|
| void |   |
[Tabelle : 19. Ergebnisse]

{#GEPS-setHeaderRowNumber_N__table_i1d_kfh_4z}

## GlideExcelParser -- setNullToEmpty(Boolean empty) {#ariaid-title12}

Gibt einen leeren Wert anstelle von NULL zurück, wenn keine Excel-Zelle vorhanden ist.
{#GEPS-setNullToEmpty_B__table_lrz_wgh_4z__entry__3}

| 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 : 20. Parameter]

{#GEPS-setNullToEmpty_B__table_lrz_wgh_4z} {#GEPS-setNullToEmpty_B__table_mrz_wgh_4z__entry__2}

| Typ | Beschreibung |
|-|-|
| void |   |
[Tabelle : 21. Ergebnisse]

{#GEPS-setNullToEmpty_B__table_mrz_wgh_4z}

## GlideExcelParser -- setSheetName(String sheetName) {#ariaid-title13}

Legt den Namen des abzurufenden Blattes fest.
Wenn setSheetNumber() und setSheetName() festgelegt werden, wird setSheetName() verwendet.
{#GEPS-setSheetName_S__table_tm3_p2h_4z__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| sheetName | Zeichenfolge | Name des Blatts, das abgerufen werden soll. |
[Tabelle : 22. Parameter]

{#GEPS-setSheetName_S__table_tm3_p2h_4z} {#GEPS-setSheetName_S__table_um3_p2h_4z__entry__2}

| Typ | Beschreibung |
|-|-|
| void |   |
[Tabelle : 23. Ergebnisse]

{#GEPS-setSheetName_S__table_um3_p2h_4z}  
Das folgende Beispiel zeigt, wie Sie einen Excel-Dateianhang mehrmals analysieren, um Spaltenheader abzurufen und die Werte jeder Zeile für jedes Arbeitsblatt zu drucken. Die 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) {#ariaid-title14}

Legt die Anzahl des abzurufenden Excel-Blattes fest.
Wenn setSheetNumber() und setSheetName() festgelegt werden, wird setSheetNumber() ignoriert.
{#GEPS-setSheetNumber_N__table_ztb_tdh_4z__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| sheetNumber | Zahl | Abzurufende Excel-Blattnummer. |
[Tabelle : 24. Parameter]

{#GEPS-setSheetNumber_N__table_ztb_tdh_4z} {#GEPS-setSheetNumber_N__table_a5b_tdh_4z__entry__2}

| Typ | Beschreibung |
|-|-|
| void |   |
[Tabelle : 25. Ergebnisse]

{#GEPS-setSheetNumber_N__table_a5b_tdh_4z}  
Das folgende Beispiel zeigt, wie diese Methode verwendet wird, um die Blattnummer einer angehängten Tabellenarbeitsmappe 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) {#ariaid-title15}

Definiert eine Eingabequelle für die mehrfache Analyse oder die Analyse jedes Arbeitsblatts in einer Excel-Datei.
{#GEPS-setSource_O__table_u2j_lch_4z__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| inputStream | [GlideScriptableInputStream](https://servicenow-prod.fluidtopics.net/atpUHeJcKs61yPJVqCiQcw "Ein GlideScriptableInputStream-Objekt kann nicht direkt instanziiert werden, wird jedoch als undurchsichtiges Objekt verwendet, das verwendet wird, um einen Eingabestream aus GlideSysAttachment.getContentStream() mit anderen Streaming-APIs zu verbinden.") | Excel-Dokument als Eingabestream bereitgestellt. |
[Tabelle : 26. Parameter]

{#GEPS-setSource_O__table_u2j_lch_4z} {#GEPS-setSource_O__table_otr_z4p_pnb__entry__2}

| Typ | Beschreibung |
|-|-|
| Keine |   |
[Tabelle : 27. Ergebnisse]

{#GEPS-setSource_O__table_otr_z4p_pnb}  
Das folgende Beispiel zeigt, wie Sie einen Excel-Dateianhang mehrmals analysieren, um Spaltenheader abzurufen und die Werte jeder Zeile für jedes Arbeitsblatt zu drucken. Die 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


