GlideExcelParser - 범위 지정, 전역

  • 릴리스 버전: Washingtondc
  • 업데이트 날짜 2024년 02월 01일
  • 읽기46분
  • GlideExcelParser API는 서식.xlsx 있는 Excel 파일을 구문 분석하고 스크립트에서 파일 데이터에 액세스합니다.

    전역 및 범위가 지정된 스크립트에서 GlideExcelParser 메서드를 사용할 수 있습니다. sn_impex 네임스페이스 식별자를 사용하여 GlideExcelParser 객체를 만듭니다.

    GlideExcelParser - close()

    입력 스트림에 대한 연결을 닫고 문서를 해제합니다.

    표 1. 매개변수
    이름 유형 설명
    없음
    표 2. 반환
    유형 설명
    void

    이 예제에서는 모든 문서 관리가 완료된 후 파서를 닫는 방법을 보여 줍니다.

    // 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()

    구문 분석된 문서에서 열 머리글 목록을 반환합니다.

    표 3. 매개변수
    이름 유형 설명
    없음
    표 4. 반환
    유형 설명
    배열 구문 분석된 문서의 열 머리글 문자열 배열입니다.

    다음 예제에서는 Excel 첨부 파일을 여러 번 구문 분석하여 각 워크시트에 대한 각 행의 열 머리글과 인쇄 값을 검색하는 방법을 보여 줍니다. 결과에는 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());
    }

    출력:

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

    parse() 메서드가 실패하면 오류 메시지를 반환합니다.

    표 5. 매개변수
    이름 유형 설명
    없음
    표 6. 반환
    유형 설명
    문자열 오류 메시지입니다.

    GlideExcelParser - getRow()

    현재 행 값과 헤더를 가져옵니다.

    표 7. 매개변수
    이름 유형 설명
    없음
    표 8. 반환
    유형 설명
    객체 행 머리글은 속성 이름이고 행 값은 속성 값입니다.

    다음 예제에서는 Excel 첨부 파일을 여러 번 구문 분석하여 각 워크시트에 대한 각 행의 열 머리글과 인쇄 값을 검색하는 방법을 보여 줍니다. 결과에는 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());
    }

    출력:

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

    Excel 통합 문서의 모든 워크시트 이름 목록을 가져옵니다.

    표 9. 매개변수
    이름 유형 설명
    없음
    표 10. 반환
    유형 설명
    배열 통합 문서에서 왼쪽에서 오른쪽으로 정렬된 워크시트 이름으로 된 문자열의 배열입니다. 결과에는 숨김으로 표시된 워크시트가 포함됩니다.

    다음 예제에서는 Excel 첨부 파일을 여러 번 구문 분석하여 각 워크시트에 대한 각 행의 열 머리글과 인쇄 값을 검색하는 방법을 보여 줍니다. 결과에는 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());
    }

    출력:

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

    스프레드시트 또는 CSV 첨부 파일에서 테이블 열 유형과 최대 문자 길이를 가져옵니다.

    주:
    이 메서드는 범위가 지정된 애플리케이션으로 제한됩니다.
    표 11. 매개변수
    이름 유형 설명
    없음
    표 12. 반환
    유형 설명
    객체 첨부 파일 데이터를 키가 열 이름인 맵으로 반환합니다. 값에는 열 유형과 열에 있는 문자열의 최대 길이가 포함됩니다. getType() 및 getLength() 메서드를 사용하여 반환 값에 액세스합니다.

    이 예는 1, Meghan, 1/1/85, 1:00 AM, 10.00%, 224-432-8582, 1/2와 같은 행 데이터를 포함하는 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 - GlideExcelParser()

    GlideExcelParser의 인스턴스를 만듭니다.

    GlideExcelParser 객체를 만들 때 API 네임스페이스 식별자 &quot;sn_impex&quot;을 사용해야 합니다.

    표 13. 매개변수
    이름 유형 설명
    없음
    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 - next()

    다음 행으로 이동합니다.

    표 14. 매개변수
    이름 유형 설명
    없음
    표 15. 반환
    유형 설명
    부울 다음 행이 있으면 true를 반환하고, 그렇지 않으면 false를 반환합니다.

    다음 예제에서는 Excel 첨부 파일을 여러 번 구문 분석하여 각 워크시트에 대한 각 행의 열 머리글과 인쇄 값을 검색하는 방법을 보여 줍니다. 결과에는 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());
    }

    출력:

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

    XLSX 형식의 Excel 문서를 구문 분석합니다.

    표 16. 매개변수
    이름 유형 설명
    인풋스트림 GlideScriptableInputStream Excel 문서가입력 스트림으로 제공됩니다.
    주:
    setSource() 메서드를 사용하여 동일한 소스를 여러 번 구문 분석하는 경우에는 이 값을 설정하지 마십시오.
    표 17. 반환
    유형 설명
    부울 구문 분석이 성공했는지 여부를 나타내는 플래그입니다.
    유효한 값은 다음과 같습니다.
    • true: 문서를 구문 분석했습니다.
    • false: 문서를 구문 분석하지 못했습니다.

    요청 페이로드의 입력 스트림을 사용하여 Excel 파일을 보내는 스크립팅된 REST API 스크립트의 예입니다.

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

    다음 예제에서는 Excel 첨부 파일을 여러 번 구문 분석하여 각 워크시트에 대한 각 행의 열 머리글과 인쇄 값을 검색하는 방법을 보여 줍니다. 결과에는 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());
    }

    출력:

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

    검색할 헤더 행의 번호를 설정합니다.

    표 18. 매개변수
    이름 유형 설명
    headerRowNumber 번호 검색할 헤더 행입니다.
    표 19. 반환
    유형 설명
    void

    GlideExcelParser - setNullToEmpty(부울 비어 있음)

    Excel 셀이 없는 경우 null 대신 빈 값을 반환합니다.

    표 20. 매개변수
    이름 유형 설명
    비어 있음 부울 true이면 존재하지 않는 셀이 빈 값을 반환합니다. false인 경우 존재하지 않는 셀은 null을 반환합니다.
    표 21. 반환
    유형 설명
    void

    GlideExcelParser - setSheetName(sheetName 문자열)

    검색할 시트의 이름을 설정합니다.

    setSheetNumber()와 setSheetName()이 모두 설정되면 setSheetName()이 사용됩니다.

    표 22. 매개변수
    이름 유형 설명
    시트 이름 문자열 검색할 시트의 이름입니다.
    표 23. 반환
    유형 설명
    void

    다음 예제에서는 Excel 첨부 파일을 여러 번 구문 분석하여 각 워크시트에 대한 각 행의 열 머리글과 인쇄 값을 검색하는 방법을 보여 줍니다. 결과에는 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());
    }

    출력:

    *** 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(sheet Number)

    검색할 Excel 시트의 번호를 설정합니다.

    setSheetNumber() 및 setSheetName()이 모두 설정된 경우 setSheetNumber()는 무시됩니다.

    표 24. 매개변수
    이름 유형 설명
    시트 번호 번호 검색할 Excel 시트 번호입니다.
    표 25. 반환
    유형 설명
    void

    다음 예제에서는 이 방법을 사용하여 읽을 첨부된 스프레드시트 통합 문서의 시트 번호를 지정하는 방법을 보여 줍니다.

    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)

    여러 번 구문 분석하거나 Excel 파일의 각 워크시트를 구문 분석하기 위한 입력 소스를 정의합니다.

    표 26. 매개변수
    이름 유형 설명
    인풋스트림 GlideScriptableInputStream 입력 스트림으로 제공되는 Excel 문서입니다.
    표 27. 반환
    유형 설명
    없음

    다음 예제에서는 Excel 첨부 파일을 여러 번 구문 분석하여 각 워크시트에 대한 각 행의 열 머리글과 인쇄 값을 검색하는 방법을 보여 줍니다. 결과에는 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());
    }

    출력:

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