---
sourceDocument: Xanadu API リファレンス
sourceDocumentLink: https://www.servicenow.com/docs/r/ja-JP/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - ja-JP

ft:publication_title :

    - Xanadu API リファレンス

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# GlideExcelParser - スコープ対象、グローバル

# GlideExcelParser - スコープ対象、グローバル {#ariaid-title1}

* リリースバージョン: Xanadu
* 
* 更新日 2024年08月01日
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 所要時間：47分

GlideExcelParser API は、.xlsx形式の Excel ファイルを解析し、スクリプト内のファイルデータにアクセスします。

GlideExcelParser メソッドは、グローバルおよびスコープ対象のスクリプトで使用できます。`sn_impex` 名前空間識別子を使用して GlideExcelParser オブジェクトを作成します。

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

GlideExcelParser のインスタンスを作成します。
GlideExcelParser オブジェクトを作成するときは、API の名前空間識別子「sn_impex」を使用する必要があります。
{#GEPS-GlideExcelParser__table_fwc_dyb_4z__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 1. パラメーター]

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

入力ストリームへの接続を閉じて、ドキュメントをリリースします。
{#GEPS-close__table_ibr_rrh_4z__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 2. パラメーター]

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

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 3. 返される内容]

{#GEPS-close__table_jbr_rrh_4z}  
この例は、すべてのドキュメント管理が完了した後にパーサーを閉じる方法を示しています。

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

解析されたドキュメントから列ヘッダーのリストを返します。
{#GEPS-getColumnHeaders__table_mkv_d3h_4z__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 4. パラメーター]

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

| タイプ | 説明 |
|-|-|
| アレイ | 解析済みドキュメントの列ヘッダーの文字列のアレイ。 |
[表 : 5. 返される内容]

{#GEPS-getColumnHeaders__table_nkv_d3h_4z}  
次の例は、Excel ファイルの添付ファイルを複数回解析して列ヘッダーを取得し、各ワークシートの各行の値を出力する方法を示しています。結果には、Excel 添付ファイルの 3 つの個別のシートの列ヘッダーと値が表示されます。

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

出力：

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

parse() メソッドが失敗した場合にエラーメッセージを返します。
{#GEPS-getErrorMessage__table_rsc_2rh_4z__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 6. パラメーター]

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

| タイプ | 説明 |
|-|-|
| 文字列 | エラーメッセージ。 |
[表 : 7. 返される内容]

{#GEPS-getErrorMessage__table_ssc_2rh_4z}

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

現在の行の値とヘッダーを取得します。
{#GEPS-getRow__table_g4y_pqh_4z__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 8. パラメーター]

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

| タイプ | 説明 |
|-|-|
| オブジェクト | 行ヘッダーはプロパティ名で、行の値はプロパティ値です。 |
[表 : 9. 返される内容]

{#GEPS-getRow__table_h4y_pqh_4z}  
次の例は、Excel ファイルの添付ファイルを複数回解析して列ヘッダーを取得し、各ワークシートの各行の値を出力する方法を示しています。結果には、Excel 添付ファイルの 3 つの個別のシートの列ヘッダーと値が表示されます。

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

出力：

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

Excel ワークブック内のすべてのワークシート名のリストを取得します。
{#GEPS-getSheetNames__table_cjs_w4p_pnb__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 10. パラメーター]

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

| タイプ | 説明 |
|-|-|
| アレイ | ワークブック内で左から右に配置されたワークシート名としての文字列のアレイ。結果には非表示としてマークされたワークシートが含まれます。 |
[表 : 11. 返される内容]

{#GEPS-getSheetNames__table_djs_w4p_pnb}  
次の例は、Excel ファイルの添付ファイルを複数回解析して列ヘッダーを取得し、各ワークシートの各行の値を出力する方法を示しています。結果には、Excel 添付ファイルの 3 つの個別のシートの列ヘッダーと値が表示されます。

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

出力：

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

スプレッドシートまたは CSV 添付ファイルからテーブルの列タイプと最大文字数を取得します。
注:  
このメソッドは、スコープ対象のアプリケーションに制限されています。
{#GEPS-getTableInfo__table_gnh_csz_4hb__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 12. パラメーター]

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

| タイプ | 説明 |
|-|-|
| オブジェクト | 添付ファイルデータをキーが列名であるマップとして返します。値には、列のタイプと列の文字列の最大長が含まれます。getType() および getLength() メソッドを使用して戻り値にアクセスします。 |
[表 : 13. 返される内容]

{#GEPS-getTableInfo__table_hnh_csz_4hb}  
この例では、1、Meghan、1/1/85、1:00 AM、10.00%、224-432-8582、½ などの行データを含む、7 列のスプレッドシートの添付ファイルからデータを取得する方法を示します。

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

出力：

    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}

次の行に移動します。
{#GEPS-next__table_dd1_2qh_4z__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 14. パラメーター]

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

| タイプ | 説明 |
|-|-|
| ブーリアン | 次の行がある場合は true を返し、ない場合は false を返します。 |
[表 : 15. 返される内容]

{#GEPS-next__table_ed1_2qh_4z}  
次の例は、Excel ファイルの添付ファイルを複数回解析して列ヘッダーを取得し、各ワークシートの各行の値を出力する方法を示しています。結果には、Excel 添付ファイルの 3 つの個別のシートの列ヘッダーと値が表示されます。

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

出力：

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

XLSX 形式の Excel ドキュメントを解析します。
{#GEPS-parse_GSIS__table_u2j_lch_4z__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| inputStream | [GlideScriptableInputStream](https://www.servicenow.com/docs/OkwRXEhgGeLHsLc8oj9jTw "GlideScriptableInputStream オブジェクトは直接インスタンス化することはできませんが、 GlideSysAttachment.getContentStream() からの入力ストリームを他のストリーミング API に接続するために使用される不透明なオブジェクトとして使用されます。") | 入力ストリームとして提供される Excel ドキュメント。 注: [setSource()](https://www.servicenow.com/docs/AzERg62nkEZTGUW4AMvXdQ#GEPS-setSource_O "複数回解析したり、Excel ファイル内の各ワークシートを解析したりする入力ソースを定義します。") メソッドを使用して同じソースを複数回解析する場合は、この値を設定しないでください。 |
[表 : 16. パラメーター]

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

| タイプ | 説明 |
|-|-|
| ブーリアン | 解析が成功したかどうかを示すフラグ。 有効な値： * true：ドキュメントは正常に解析されました。 * false：ドキュメントは正常に解析されませんでした。 {#GEPS-parse_GSIS__ul_mkg_l5t_vnb} |
[表 : 17. 返される内容]

{#GEPS-parse_GSIS__table_v2j_lch_4z}  
要求ペイロードの入力ストリームを使用して Excel ファイルが送信される、Scripted REST API スクリプトの例。

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

次の例は、Excel ファイルの添付ファイルを複数回解析して列ヘッダーを取得し、各ワークシートの各行の値を出力する方法を示しています。結果には、Excel 添付ファイルの 3 つの個別のシートの列ヘッダーと値が表示されます。

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

出力：

    *** 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(数値 headerRowNumber) {#ariaid-title11}

取得するヘッダー行の番号を設定します。
{#GEPS-setHeaderRowNumber_N__table_h1d_kfh_4z__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| headerRowNumber | 数値 | 取得するヘッダー行。 |
[表 : 18. パラメーター]

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

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 19. 返される内容]

{#GEPS-setHeaderRowNumber_N__table_i1d_kfh_4z}

## GlideExcelParser - setNullToEmpty(ブーリアン empty) {#ariaid-title12}

Excel セルが存在しない場合は、null ではなく空の値を返します。
{#GEPS-setNullToEmpty_B__table_lrz_wgh_4z__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| empty | ブーリアン | true の場合、存在しないセルは空の値を返します。false の場合、存在しないセルは null を返します。 |
[表 : 20. パラメーター]

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

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 21. 返される内容]

{#GEPS-setNullToEmpty_B__table_mrz_wgh_4z}

## GlideExcelParser - setSheetName(文字列 sheetName) {#ariaid-title13}

取得するシートの名前を設定します。
setSheetNumber() と setSheetName() の両方が設定されている場合は、setSheetName() が使用されます。
{#GEPS-setSheetName_S__table_tm3_p2h_4z__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| sheetName | 文字列 | 取得するシートの名前。 |
[表 : 22. パラメーター]

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

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 23. 返される内容]

{#GEPS-setSheetName_S__table_um3_p2h_4z}  
次の例は、Excel ファイルの添付ファイルを複数回解析して列ヘッダーを取得し、各ワークシートの各行の値を出力する方法を示しています。結果には、Excel 添付ファイルの 3 つの個別のシートの列ヘッダーと値が表示されます。

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

出力：

    *** 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(数値 SheetNumber) {#ariaid-title14}

取得する Excel シートの番号を設定します。
setSheetNumber() と setSheetName() の両方が設定されている場合は、setSheetNumber() は無視されます。
{#GEPS-setSheetNumber_N__table_ztb_tdh_4z__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| sheetNumber | 数値 | 取得する Excel シート番号。 |
[表 : 24. パラメーター]

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

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 25. 返される内容]

{#GEPS-setSheetNumber_N__table_a5b_tdh_4z}  
次の例は、このメソッドを使用して、読み込む添付されたスプレッドシートワークブックのシート番号を指定する方法を示しています。

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

出力：

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

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

複数回解析したり、Excel ファイル内の各ワークシートを解析したりする入力ソースを定義します。
{#GEPS-setSource_O__table_u2j_lch_4z__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| inputStream | [GlideScriptableInputStream](https://www.servicenow.com/docs/OkwRXEhgGeLHsLc8oj9jTw "GlideScriptableInputStream オブジェクトは直接インスタンス化することはできませんが、 GlideSysAttachment.getContentStream() からの入力ストリームを他のストリーミング API に接続するために使用される不透明なオブジェクトとして使用されます。") | 入力ストリームとして提供される Excel ドキュメント。 |
[表 : 26. パラメーター]

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

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 27. 返される内容]

{#GEPS-setSource_O__table_otr_z4p_pnb}  
次の例は、Excel ファイルの添付ファイルを複数回解析して列ヘッダーを取得し、各ワークシートの各行の値を出力する方法を示しています。結果には、Excel 添付ファイルの 3 つの個別のシートの列ヘッダーと値が表示されます。

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

出力：

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


