GlideExcelParser - com escopo, global
A API GlideExcelParser analisa arquivos do Excel no formato .xlsx e acessa dados de arquivo em scripts.
Você pode usar os métodos GlideExcelParser em scripts globais e com escopo. Use o identificador de namespace sn_impex para criar um objeto GlideExcelParser.
GlideExcelParser - GlideExcelParser()
Cria uma instância de GlideExcelParser.
O identificador de espaço de nome de API "sn_impex" deve ser usado ao criar um objeto GlideExcelParser.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
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 – fechar ()
Feche a conexão com o fluxo de entrada e libere o documento.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| vazio |
Este exemplo mostra como fechar o analisador quando toda a gestão de documentos estiver concluída.
// 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()
Retorna uma lista de cabeçalhos de coluna do documento analisado.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Matriz | Uma matriz de cadeias de caracteres de cabeçalhos de coluna do documento analisado. |
O exemplo a seguir mostra como analisar um anexo de arquivo do Excel várias vezes para recuperar cabeçalhos de coluna e imprimir valores de cada linha de cada planilha. Os resultados exibem cabeçalhos de coluna e valores de três planilhas separadas no anexo do 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());
}
Saída:
*** 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()
Retorna a mensagem de erro quando o método parse() falha.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | A mensagem de erro. |
GlideExcelParser – getRow()
Obtenha os valores de linha e cabeçalhos atuais.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Objeto | Os cabeçalhos de linha são nomes de propriedade e os valores de linha são valores de propriedade. |
O exemplo a seguir mostra como analisar um anexo de arquivo do Excel várias vezes para recuperar cabeçalhos de coluna e imprimir valores de cada linha de cada planilha. Os resultados exibem cabeçalhos de coluna e valores de três planilhas separadas no anexo do 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());
}
Saída:
*** 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()
Obtém uma lista de todos os nomes de planilha em uma pasta de trabalho do Excel.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Matriz | Matriz de cadeias de caracteres como nomes de planilha ordenados conforme posicionados da esquerda para a direita na pasta de trabalho. Os resultados incluem todas as planilhas marcadas como ocultas. |
O exemplo a seguir mostra como analisar um anexo de arquivo do Excel várias vezes para recuperar cabeçalhos de coluna e imprimir valores de cada linha de cada planilha. Os resultados exibem cabeçalhos de coluna e valores de três planilhas separadas no anexo do 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());
}
Saída:
*** 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()
Obtém os tipos de coluna da tabela e o tamanho máximo de caracteres de uma planilha ou anexo CSV.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Objeto | Retorna dados de anexo como um mapa no qual a chave é o nome da coluna. Os valores contêm o tipo de coluna e o tamanho máximo de uma cadeia de caracteres na coluna. Acesse os valores de retorno usando os métodos getType() e getLength(). |
Este exemplo mostra como dados de um anexo de planilha de 7 colunas, incluindo dados de linha como 1, Megan, 1/1/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());
}
Saída:
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()
Move para a próxima linha.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Booliano | Retorna verdadeiro se houver uma próxima linha, caso contrário, retorna falso. |
O exemplo a seguir mostra como analisar um anexo de arquivo do Excel várias vezes para recuperar cabeçalhos de coluna e imprimir valores de cada linha de cada planilha. Os resultados exibem cabeçalhos de coluna e valores de três planilhas separadas no anexo do 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());
}
Saída:
*** 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)
Analisa um documento do Excel no formato XLSX.
| Nome | Tipo | Descrição |
|---|---|---|
| fluxo de entrada | GlideScriptableInputStream | Excel documentot fornecido como um fluxo de entrada. Nota: Não defina este valor se estiver usando o método setSource() para analisar a mesma origem várias vezes. |
| Tipo | Descrição |
|---|---|
| Booliano | Sinalizador que indica se a análise foi bem-sucedida. Valores válidos:
|
Exemplo de um script de REST API em que o arquivo do Excel é enviado usando um fluxo de entrada na carga da solicitação.
var parser = new sn_impex.GlideExcelParser();
parser.parse(request.body.dataStream);
O exemplo a seguir mostra como analisar um anexo de arquivo do Excel várias vezes para recuperar cabeçalhos de coluna e imprimir valores de cada linha de cada planilha. Os resultados exibem cabeçalhos de coluna e valores de três planilhas separadas no anexo do 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());
}
Saída:
*** 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(Número de cabeçalhoRowNumber)
Defina o número da linha de cabeçalho a ser recuperada.
| Nome | Tipo | Descrição |
|---|---|---|
| headerRowNumber | Número | A linha de cabeçalho a ser recuperada. |
| Tipo | Descrição |
|---|---|
| vazio |
GlideExcelParser - setNullToEmpty (booliano vazio)
Retornar um valor vazio em vez de nulo quando uma célula do Excel não estiver presente.
| Nome | Tipo | Descrição |
|---|---|---|
| vazia | Booliano | Quando verdadeiro, as células que não estão presentes retornam um valor vazio. Quando falso, as células que não estão presentes retornam nulas. |
| Tipo | Descrição |
|---|---|
| vazio |
GlideExcelParser - setSheetName(cadeia de caracteres "sheetName")
Defina o nome da planilha a ser recuperada.
Se setSheetNumber() e setSheetName() estiverem definidos, setSheetName() será usado.
| Nome | Tipo | Descrição |
|---|---|---|
| NomeDaPlanilha | Cadeia de caracteres | O nome da planilha a ser recuperada. |
| Tipo | Descrição |
|---|---|
| vazio |
O exemplo a seguir mostra como analisar um anexo de arquivo do Excel várias vezes para recuperar cabeçalhos de coluna e imprimir valores de cada linha de cada planilha. Os resultados exibem cabeçalhos de coluna e valores de três planilhas separadas no anexo do 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());
}
Saída:
*** 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(NúmerosheetNumber)
Defina o número da planilha do Excel a ser recuperada.
Se setSheetNumber() e setSheetName() estiverem definidos, setSheetNumber() será ignorado.
| Nome | Tipo | Descrição |
|---|---|---|
| númerofolha | Número | O número da planilha do Excel a ser recuperado. |
| Tipo | Descrição |
|---|---|
| vazio |
O exemplo a seguir mostra como usar este método para especificar o número da folha de uma pasta de trabalho de planilha anexada a ser lida.
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);
Saída:
Header 1 value = sys_id
Header 2 value = email
Header 3 value = undefined
GlideExcelParser - setSource(InputStream inputStream)
Define uma origem de entrada para analisar várias vezes ou analisar cada planilha em um arquivo do Excel.
| Nome | Tipo | Descrição |
|---|---|---|
| fluxo de entrada | GlideScriptableInputStream | Documento do Excel fornecido como um fluxo de entrada. |
| Tipo | Descrição |
|---|---|
| Nenhum |
O exemplo a seguir mostra como analisar um anexo de arquivo do Excel várias vezes para recuperar cabeçalhos de coluna e imprimir valores de cada linha de cada planilha. Os resultados exibem cabeçalhos de coluna e valores de três planilhas separadas no anexo do 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());
}
Saída:
*** 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