---
sourceDocument: Référence de l’API Xanadu
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/fr-FR/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - fr-FR

ft:publication_title :

    - Référence de l’API Xanadu

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# GlideExcelParser : champ d'application, global

# GlideExcelParser : champ d'application, global {#ariaid-title1}

* Rversion finale: Xanadu
* 
* Mis à jour 1 août 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 19 minutes de lecture

L'API GlideExcelParser analyse les fichiers Excel formatés .xlsx et les données des fichiers d'accès dans les scripts.

Vous pouvez utiliser les méthodes GlideExcelParser dans les scripts globaux et inclus dans le champ d'application. Utilisez l'identificateur `d'espace` de noms sn_impex pour créer un objet GlideExcelParser.

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

Crée une instance de GlideExcelParser.
L'identificateur d'espace de noms d'API \<\< sn_impex \>\> doit être utilisé lors de la création d'un objet GlideExcelParser.
{#GEPS-GlideExcelParser__table_fwc_dyb_4z__entry__3}

| Nom | Type | Description |
|-|-|-|
| Aucun |   |   |
[Tableau 1. Paramètres]

{#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}

Fermez la connexion au flux d'entrée et libérez le document.
{#GEPS-close__table_ibr_rrh_4z__entry__3}

| Nom | Type | Description |
|-|-|-|
| Aucun |   |   |
[Tableau 2. Paramètres]

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

| Type | Description |
|-|-|
| nul |   |
[Tableau 3. Renvoie]

{#GEPS-close__table_jbr_rrh_4z}  
Cet exemple montre comment fermer l'analyseur une fois que toute la gestion des documents est terminée.

    // 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}

Renvoie une liste d'en-têtes de colonne à partir du document analysé.
{#GEPS-getColumnHeaders__table_mkv_d3h_4z__entry__3}

| Nom | Type | Description |
|-|-|-|
| Aucun |   |   |
[Tableau 4. Paramètres]

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

| Type | Description |
|-|-|
| Tableau | Tableau de chaînes d'en-têtes de colonnes provenant du document analysé. |
[Tableau 5. Renvoie]

{#GEPS-getColumnHeaders__table_nkv_d3h_4z}  
L'exemple suivant montre comment analyser plusieurs fois une pièce jointe de fichier Excel pour récupérer les en-têtes de colonne et imprimer les valeurs de chaque ligne de chaque feuille de calcul. Les résultats affichent les en-têtes de colonnes et les valeurs de trois feuilles distinctes dans la pièce jointe Excel.

    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());
    }

Sortie :

    *** 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}

Renvoie le message d'erreur en cas d'échec de la méthode parse().
{#GEPS-getErrorMessage__table_rsc_2rh_4z__entry__3}

| Nom | Type | Description |
|-|-|-|
| Aucun |   |   |
[Tableau 6. Paramètres]

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

| Type | Description |
|-|-|
| Chaîne | Message d'erreur. |
[Tableau 7. Renvoie]

{#GEPS-getErrorMessage__table_ssc_2rh_4z}

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

Obtenez les valeurs de ligne et les en-têtes actuels.
{#GEPS-getRow__table_g4y_pqh_4z__entry__3}

| Nom | Type | Description |
|-|-|-|
| Aucun |   |   |
[Tableau 8. Paramètres]

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

| Type | Description |
|-|-|
| Objet | Les en-têtes de lignes sont des noms de propriété et les valeurs de ligne sont des valeurs de propriété. |
[Tableau 9. Renvoie]

{#GEPS-getRow__table_h4y_pqh_4z}  
L'exemple suivant montre comment analyser plusieurs fois une pièce jointe de fichier Excel pour récupérer les en-têtes de colonne et imprimer les valeurs de chaque ligne de chaque feuille de calcul. Les résultats affichent les en-têtes de colonnes et les valeurs de trois feuilles distinctes dans la pièce jointe Excel.

    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());
    }

Sortie :

    *** 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}

Obtient une liste de tous les noms de feuilles de calcul dans un classeur Excel.
{#GEPS-getSheetNames__table_cjs_w4p_pnb__entry__3}

| Nom | Type | Description |
|-|-|-|
| Aucun |   |   |
[Tableau 10. Paramètres]

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

| Type | Description |
|-|-|
| Tableau | Tableau de chaînes sous forme de noms de feuilles de calcul classés de gauche à droite dans le classeur. Les résultats incluent toutes les feuilles de calcul marquées comme masquées. |
[Tableau 11. Renvoie]

{#GEPS-getSheetNames__table_djs_w4p_pnb}  
L'exemple suivant montre comment analyser plusieurs fois une pièce jointe de fichier Excel pour récupérer les en-têtes de colonne et imprimer les valeurs de chaque ligne de chaque feuille de calcul. Les résultats affichent les en-têtes de colonnes et les valeurs de trois feuilles distinctes dans la pièce jointe Excel.

    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());
    }

Sortie :

    *** 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}

Obtient les types de colonnes de table et la longueur maximale des caractères à partir d'une feuille de calcul ou d'une pièce jointe CSV.
Remarque :  
Cette méthode est limitée aux applications incluses dans le périmètre.
{#GEPS-getTableInfo__table_gnh_csz_4hb__entry__3}

| Nom | Type | Description |
|-|-|-|
| Aucun |   |   |
[Tableau 12. Paramètres]

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

| Type | Description |
|-|-|
| Objet | Renvoie les données de pièce jointe sous la forme d'une carte dans laquelle la clé est le nom de colonne. Les valeurs contiennent le type de colonne et la longueur maximale d'une chaîne de caractères dans la colonne. Accédez aux valeurs de retour à l'aide des méthodes getType() et getLength(). |
[Tableau 13. Renvoie]

{#GEPS-getTableInfo__table_hnh_csz_4hb}  
Cet exemple montre comment utiliser les données d'une pièce jointe de feuille de calcul à 7 colonnes comprenant des données de ligne telles que 1, Meghan, 01/01/85, 1:00 AM, 10,00 %, 224-432-8582, 1/2.

    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());
    }

Sortie :

    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}

Passe à la ligne suivante.
{#GEPS-next__table_dd1_2qh_4z__entry__3}

| Nom | Type | Description |
|-|-|-|
| Aucun |   |   |
[Tableau 14. Paramètres]

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

| Type | Description |
|-|-|
| Booléen | Renvoie la valeur Vrai s'il y a une ligne suivante, sinon, renvoie la valeur Faux. |
[Tableau 15. Renvoie]

{#GEPS-next__table_ed1_2qh_4z}  
L'exemple suivant montre comment analyser plusieurs fois une pièce jointe de fichier Excel pour récupérer les en-têtes de colonne et imprimer les valeurs de chaque ligne de chaque feuille de calcul. Les résultats affichent les en-têtes de colonnes et les valeurs de trois feuilles distinctes dans la pièce jointe Excel.

    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());
    }

Sortie :

    *** 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}

Analyse un document Excel au format XLSX.
{#GEPS-parse_GSIS__table_u2j_lch_4z__entry__3}

| Nom | Type | Description |
|-|-|-|
| inputStream (en anglais seulement) | [GlideScriptableInputStream](https://servicenow-prod.fluidtopics.net/l2OGrFPhnkUlARNNkxtBhA "Un objet GlideScriptableInputStream ne peut pas être instancié directement, mais est utilisé comme un objet opaque utilisé pour connecter un flux d’entrée de GlideSysAttachment.getContentStream() à d’autres API de streaming.") | DocumentsExcel fournis comme flux d'entrée. Remarque : Ne définissez pas cette valeur si vous utilisez la méthode [setSource()](https://servicenow-prod.fluidtopics.net/4zuMxkBrE5b~Kk~uT0iJfQ#GEPS-setSource_O "Définit une source d’entrée pour l’analyse plusieurs fois ou l’analyse de chaque feuille de calcul dans un fichier Excel.") pour analyser la même source plusieurs fois. |
[Tableau 16. Paramètres]

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

| Type | Description |
|-|-|
| Booléen | Marqueur qui indique si l'analyse a réussi. Valeurs valides : * vrai : le document a été analysé avec succès. * faux : le document n'a pas été analysé correctement. {#GEPS-parse_GSIS__ul_mkg_l5t_vnb} |
[Tableau 17. Renvoie]

{#GEPS-parse_GSIS__table_v2j_lch_4z}  
Exemple d'un script d'API REST scripté où le fichier Excel est envoyé à l'aide d'un flux d'entrée dans la charge utile de la demande.

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

L'exemple suivant montre comment analyser plusieurs fois une pièce jointe de fichier Excel pour récupérer les en-têtes de colonne et imprimer les valeurs de chaque ligne de chaque feuille de calcul. Les résultats affichent les en-têtes de colonnes et les valeurs de trois feuilles distinctes dans la pièce jointe Excel.

    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());
    }

Sortie :

    *** 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}

Définissez le numéro de la ligne d'en-tête à récupérer.
{#GEPS-setHeaderRowNumber_N__table_h1d_kfh_4z__entry__3}

| Nom | Type | Description |
|-|-|-|
| en-têteRowNumber | Numéro | Ligne d'en-tête à récupérer. |
[Tableau 18. Paramètres]

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

| Type | Description |
|-|-|
| nul |   |
[Tableau 19. Renvoie]

{#GEPS-setHeaderRowNumber_N__table_i1d_kfh_4z}

## GlideExcelParser : setNullToEmpty(booléen vide) {#ariaid-title12}

Renvoyer une valeur vide au lieu de null lorsqu'aucune cellule Excel n'est présente.
{#GEPS-setNullToEmpty_B__table_lrz_wgh_4z__entry__3}

| Nom | Type | Description |
|-|-|-|
| Non renseigné | Booléen | Si vrai, les cellules qui ne sont pas présentes renvoient une valeur vide. Si la valeur est \<\< faux \>\>, les cellules qui ne sont pas présentes renvoient null. |
[Tableau 20. Paramètres]

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

| Type | Description |
|-|-|
| nul |   |
[Tableau 21. Renvoie]

{#GEPS-setNullToEmpty_B__table_mrz_wgh_4z}

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

Définissez le nom de la feuille à récupérer.
Si setSheetNumber() et setSheetName() sont définis, setSheetName() est utilisé.
{#GEPS-setSheetName_S__table_tm3_p2h_4z__entry__3}

| Nom | Type | Description |
|-|-|-|
| sheetName | Chaîne | Nom de la feuille à récupérer. |
[Tableau 22. Paramètres]

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

| Type | Description |
|-|-|
| nul |   |
[Tableau 23. Renvoie]

{#GEPS-setSheetName_S__table_um3_p2h_4z}  
L'exemple suivant montre comment analyser plusieurs fois une pièce jointe de fichier Excel pour récupérer les en-têtes de colonne et imprimer les valeurs de chaque ligne de chaque feuille de calcul. Les résultats affichent les en-têtes de colonnes et les valeurs de trois feuilles distinctes dans la pièce jointe Excel.

    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());
    }

Sortie :

    *** 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}

Définissez le numéro de la feuille Excel à récupérer.
Si setSheetNumber() et setSheetName() sont définis, setSheetNumber() est ignoré.
{#GEPS-setSheetNumber_N__table_ztb_tdh_4z__entry__3}

| Nom | Type | Description |
|-|-|-|
| numberfeuille | Numéro | Le numéro de feuille Excel à récupérer. |
[Tableau 24. Paramètres]

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

| Type | Description |
|-|-|
| nul |   |
[Tableau 25. Renvoie]

{#GEPS-setSheetNumber_N__table_a5b_tdh_4z}  
L'exemple suivant montre comment utiliser cette méthode pour spécifier le numéro de feuille d'un classeur de feuille de calcul joint à lire.

    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);

Sortie :

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

## GlideExcelParser : setSource(InputStream, inputStream) {#ariaid-title15}

Définit une source d'entrée pour l'analyse plusieurs fois ou l'analyse de chaque feuille de calcul dans un fichier Excel.
{#GEPS-setSource_O__table_u2j_lch_4z__entry__3}

| Nom | Type | Description |
|-|-|-|
| inputStream (en anglais seulement) | [GlideScriptableInputStream](https://servicenow-prod.fluidtopics.net/l2OGrFPhnkUlARNNkxtBhA "Un objet GlideScriptableInputStream ne peut pas être instancié directement, mais est utilisé comme un objet opaque utilisé pour connecter un flux d’entrée de GlideSysAttachment.getContentStream() à d’autres API de streaming.") | Document Excel fourni comme flux d'entrée. |
[Tableau 26. Paramètres]

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

| Type | Description |
|-|-|
| Aucun |   |
[Tableau 27. Renvoie]

{#GEPS-setSource_O__table_otr_z4p_pnb}  
L'exemple suivant montre comment analyser plusieurs fois une pièce jointe de fichier Excel pour récupérer les en-têtes de colonne et imprimer les valeurs de chaque ligne de chaque feuille de calcul. Les résultats affichent les en-têtes de colonnes et les valeurs de trois feuilles distinctes dans la pièce jointe Excel.

    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());
    }

Sortie :

    *** 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


