GlideExcelParser - Champ d’application, global
L’API GlideExcelParser analyse .xlsx fichiers Excel formatés et accède aux données de fichier dans le script.
Vous pouvez utiliser les méthodes GlideExcelParser dans des scripts globaux et dans le champ d’application. Utilisez l’identificateur d’espace de noms sn_impex pour créer un objet GlideExcelParser.
GlideExcelParser - close()
Fermez la connexion au flux d’entrée et libérez le document.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| nul |
Cet exemple montre comment fermer l’analyseur une fois que toute la gestion des documents est terminée.
// iterate over each row in the excel sheet
var attachment = new GlideSysAttachment();
var attachmentStream = attachment.getContentStream(<attachment sys id>);
var parser = new sn_impex.GlideExcelParser();
parser.parse(attachmentStream);
while (parser.next()) {
// do something on each row
var row = parser.getRow();
gs.info(JSON.stringify(row));
}
parser.close(); // close the stream and release the document
GlideExcelParser : getColumnHeaders()
Renvoie une liste d’en-têtes de colonne à partir du document analysé.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Tableau | Tableau de chaînes d’en-têtes de colonnes provenant du document analysé. |
L’exemple suivant montre comment analyser une pièce jointe de fichier Excel plusieurs fois pour récupérer les en-têtes de colonne et imprimer les valeurs de chaque ligne pour chaque feuille de calcul. Les résultats affichent les en-têtes de colonne et les valeurs de trois feuilles distinctes dans la pièce jointe Excel.
var parser = new sn_impex.GlideExcelParser();
var attachment = new GlideSysAttachment();
// Use the attachment sys_id of an Excel file
var attachmentStream = attachment.getContentStream("<attachment_sys_id>");
// Set the source to be parsed
parser.setSource(attachmentStream);
// Get the worksheet names to be parsed in the Excel document
var list_sheet_name = parser.getSheetNames();
gs.info(" Sheet Names " + list_sheet_name.join(", "));
// Iterate over each worksheet in the Excel workbook
for (var i = 0; i < list_sheet_name.length; i++) {
gs.info("**************************************************************************************");
gs.info("Sheet name: " + list_sheet_name[i]);
// Set the worksheet name to be parsed
parser.setSheetName(list_sheet_name[i]);
// Parse each worksheet set using setSheetName()
if (parser.parse()) {
//retrieve the column headers
var headers = parser.getColumnHeaders();
var header1 = headers[0];
var header2 = headers[1];
var header3 = headers[2];
//print headers
gs.info(header1 + "\t||" + header2 + "\t||" + header3);
// Iterate over each row in the worksheet
while (parser.next()) {
var row = parser.getRow();
//print row value for both columns
gs.info(row[header1] + '\t|| ' + row[header2] + '\t||' + row[header3])
}
} else
gs.info(parser.getErrorMessage());
}
Sortie :
*** Script: Sheet Names Incident Table, sys_user Table, knowledge Table
*** Script: **************************************************************************************
*** Script: Sheet name: Incident Table
*** Script: Number ||Opened ||Short description
*** Script: INC0010112 || 2019-07-29 11:48:43 ||Assessment : ATF Assessor
*** Script: INC0010111 || 2019-07-22 14:04:57 ||ATF : Test1
*** Script: INC0009009 || 2018-08-30 01:06:16 ||Unable to access the shared folder.
*** Script: **************************************************************************************
*** Script: Sheet name: sys_user Table
*** Script: User ID ||Name ||Email
*** Script: abel.tuter || Abel Tuter ||abel.tuter@example.com
*** Script: abraham.lincoln || Abraham Lincoln ||abraham.lincoln@example.com
*** Script: adela.cervantsz || Adela Cervantsz ||adela.cervantsz@example.com
*** Script: aileen.mottern || Aileen Mottern ||aileen.mottern@example.com
*** Script: alejandra.prenatt || Alejandra Prenatt ||alejandra.prenatt@example.com
*** Script: **************************************************************************************
*** Script: Sheet name: knowledge Table
*** Script: Number ||Short description ||Author
*** Script: KB99999999 || Microsoft Outlook Issues ||System Administrator
*** Script: KB0000033 || Eclipse configuration for Android development ||System Administrator
*** Script: KB0000032 || Getting Around in Windows ||System Administrator
*** Script: KB0000031 || How can I find the MAC address of my Ethernet or
wireless interface? ||Sam Sorokin
GlideExcelParser : getErrorMessage()
Renvoie le message d’erreur en cas d’échec de la méthode parse().
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Chaîne | Message d’erreur. |
GlideExcelParser : getRow()
Obtenir les valeurs et les en-têtes de ligne actuels.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Objet | Les en-têtes de ligne sont des noms de propriété et les valeurs de ligne sont des valeurs de propriété. |
L’exemple suivant montre comment analyser une pièce jointe de fichier Excel plusieurs fois pour récupérer les en-têtes de colonne et imprimer les valeurs de chaque ligne pour chaque feuille de calcul. Les résultats affichent les en-têtes de colonne et les valeurs de trois feuilles distinctes dans la pièce jointe Excel.
var parser = new sn_impex.GlideExcelParser();
var attachment = new GlideSysAttachment();
// Use the attachment sys_id of an Excel file
var attachmentStream = attachment.getContentStream("<attachment_sys_id>");
// Set the source to be parsed
parser.setSource(attachmentStream);
// Get the worksheet names to be parsed in the Excel document
var list_sheet_name = parser.getSheetNames();
gs.info(" Sheet Names " + list_sheet_name.join(", "));
// Iterate over each worksheet in the Excel workbook
for (var i = 0; i < list_sheet_name.length; i++) {
gs.info("**************************************************************************************");
gs.info("Sheet name: " + list_sheet_name[i]);
// Set the worksheet name to be parsed
parser.setSheetName(list_sheet_name[i]);
// Parse each worksheet set using setSheetName()
if (parser.parse()) {
//retrieve the column headers
var headers = parser.getColumnHeaders();
var header1 = headers[0];
var header2 = headers[1];
var header3 = headers[2];
//print headers
gs.info(header1 + "\t||" + header2 + "\t||" + header3);
// Iterate over each row in the worksheet
while (parser.next()) {
var row = parser.getRow();
//print row value for both columns
gs.info(row[header1] + '\t|| ' + row[header2] + '\t||' + row[header3])
}
} else
gs.info(parser.getErrorMessage());
}
Sortie :
*** Script: Sheet Names Incident Table, sys_user Table, knowledge Table
*** Script: **************************************************************************************
*** Script: Sheet name: Incident Table
*** Script: Number ||Opened ||Short description
*** Script: INC0010112 || 2019-07-29 11:48:43 ||Assessment : ATF Assessor
*** Script: INC0010111 || 2019-07-22 14:04:57 ||ATF : Test1
*** Script: INC0009009 || 2018-08-30 01:06:16 ||Unable to access the shared folder.
*** Script: **************************************************************************************
*** Script: Sheet name: sys_user Table
*** Script: User ID ||Name ||Email
*** Script: abel.tuter || Abel Tuter ||abel.tuter@example.com
*** Script: abraham.lincoln || Abraham Lincoln ||abraham.lincoln@example.com
*** Script: adela.cervantsz || Adela Cervantsz ||adela.cervantsz@example.com
*** Script: aileen.mottern || Aileen Mottern ||aileen.mottern@example.com
*** Script: alejandra.prenatt || Alejandra Prenatt ||alejandra.prenatt@example.com
*** Script: **************************************************************************************
*** Script: Sheet name: knowledge Table
*** Script: Number ||Short description ||Author
*** Script: KB99999999 || Microsoft Outlook Issues ||System Administrator
*** Script: KB0000033 || Eclipse configuration for Android development ||System Administrator
*** Script: KB0000032 || Getting Around in Windows ||System Administrator
*** Script: KB0000031 || How can I find the MAC address of my Ethernet or
wireless interface? ||Sam Sorokin
GlideExcelParser : getSheetNames()
Obtient une liste de tous les noms de feuilles de calcul dans un classeur Excel.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Tableau | Tableau de chaînes sous forme de noms de feuilles de calcul classés de gauche à droite dans le classeur. Les résultats incluent toutes les feuilles de travail marquées comme masquées. |
L’exemple suivant montre comment analyser une pièce jointe de fichier Excel plusieurs fois pour récupérer les en-têtes de colonne et imprimer les valeurs de chaque ligne pour chaque feuille de calcul. Les résultats affichent les en-têtes de colonne et les valeurs de trois feuilles distinctes dans la pièce jointe Excel.
var parser = new sn_impex.GlideExcelParser();
var attachment = new GlideSysAttachment();
// Use the attachment sys_id of an Excel file
var attachmentStream = attachment.getContentStream("<attachment_sys_id>");
// Set the source to be parsed
parser.setSource(attachmentStream);
// Get the worksheet names to be parsed in the Excel document
var list_sheet_name = parser.getSheetNames();
gs.info(" Sheet Names " + list_sheet_name.join(", "));
// Iterate over each worksheet in the Excel workbook
for (var i = 0; i < list_sheet_name.length; i++) {
gs.info("**************************************************************************************");
gs.info("Sheet name: " + list_sheet_name[i]);
// Set the worksheet name to be parsed
parser.setSheetName(list_sheet_name[i]);
// Parse each worksheet set using setSheetName()
if (parser.parse()) {
//retrieve the column headers
var headers = parser.getColumnHeaders();
var header1 = headers[0];
var header2 = headers[1];
var header3 = headers[2];
//print headers
gs.info(header1 + "\t||" + header2 + "\t||" + header3);
// Iterate over each row in the worksheet
while (parser.next()) {
var row = parser.getRow();
//print row value for both columns
gs.info(row[header1] + '\t|| ' + row[header2] + '\t||' + row[header3])
}
} else
gs.info(parser.getErrorMessage());
}
Sortie :
*** Script: Sheet Names Incident Table, sys_user Table, knowledge Table
*** Script: **************************************************************************************
*** Script: Sheet name: Incident Table
*** Script: Number ||Opened ||Short description
*** Script: INC0010112 || 2019-07-29 11:48:43 ||Assessment : ATF Assessor
*** Script: INC0010111 || 2019-07-22 14:04:57 ||ATF : Test1
*** Script: INC0009009 || 2018-08-30 01:06:16 ||Unable to access the shared folder.
*** Script: **************************************************************************************
*** Script: Sheet name: sys_user Table
*** Script: User ID ||Name ||Email
*** Script: abel.tuter || Abel Tuter ||abel.tuter@example.com
*** Script: abraham.lincoln || Abraham Lincoln ||abraham.lincoln@example.com
*** Script: adela.cervantsz || Adela Cervantsz ||adela.cervantsz@example.com
*** Script: aileen.mottern || Aileen Mottern ||aileen.mottern@example.com
*** Script: alejandra.prenatt || Alejandra Prenatt ||alejandra.prenatt@example.com
*** Script: **************************************************************************************
*** Script: Sheet name: knowledge Table
*** Script: Number ||Short description ||Author
*** Script: KB99999999 || Microsoft Outlook Issues ||System Administrator
*** Script: KB0000033 || Eclipse configuration for Android development ||System Administrator
*** Script: KB0000032 || Getting Around in Windows ||System Administrator
*** Script: KB0000031 || How can I find the MAC address of my Ethernet or
wireless interface? ||Sam Sorokin
GlideExcelParser : getTableInfo()
Obtient les types de colonnes de table et la longueur maximale de caractères d’une feuille de calcul ou d’une pièce jointe CSV.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Objet | Renvoie les données de la pièce jointe sous la forme d’une carte dans laquelle la clé est le nom de colonne. Les valeurs contiennent le type de colonne et la longueur maximale d’une chaîne de caractères dans la colonne. Accédez aux valeurs de retour à l’aide des méthodes getType() et getLength(). |
Cet exemple montre comment utiliser des données à partir d’une pièce jointe de feuille de calcul à 7 colonnes comprenant des données de ligne telles que 1, Meghan, 01/01/85, 01 :00 AM, 10,00 %, 224-432-8582, 1/2.
var attachmentSysId = "<sys_id>";
var headerRowNumber = 6;
var attachmentStream = new GlideSysAttachment().getContentStream(attachmentSysId);
var parser = new sn_impex.GlideExcelParser();
parser.setHeaderRowNumber(headerRowNumber);
if (!parser.parse(attachmentStream)) {
throw "Attachment could not be parsed as an Excel Spreadsheet " + attachmentSysId;
}
var tableInfo = parser.getTableInfo();
for (var name in tableInfo) {
gs.info('Column Name : ' + name + ', Type : ' + tableInfo[name].getType() + ', Max Length : ' + tableInfo[name].getLength());
}
Sortie :
ProgressWorker: Attempted to get non-existent sys_progress_
worker record, inserted 81b0ca5ddb59730090c9ff9dbf9619c4
sn_appcreator: Column Name : My Number Col, Type : integer,
Max Length : 1
sn_appcreator: Column Name : My String Col, Type : string,
Max Length : 650
sn_appcreator: Column Name : My Date Col, Type : glide_date,
Max Length : 6
sn_appcreator: Column Name : My DateTime Col, Type :
glide_date_time, Max Length : 7
sn_appcreator: Column Name : My Percent Col, Type : decimal,
Max Length : 6
sn_appcreator: Column Name : My Phone Col, Type : string,
Max Length : 12
sn_appcreator: Column Name : My Fraction Col, Type : decimal,
Max Length : 3
GlideExcelParser - GlideExcelParser()
Crée une instance de GlideExcelParser.
L’identificateur d’espace de noms d’API « sn_impex » doit être utilisé lors de la création d’un objet GlideExcelParser.
| Nom | Type | Description |
|---|---|---|
| Néant |
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()
Passe à la ligne suivante.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Booléen | Renvoie la valeur true s’il y a une ligne suivante, sinon, renvoie la valeur false. |
L’exemple suivant montre comment analyser une pièce jointe de fichier Excel plusieurs fois pour récupérer les en-têtes de colonne et imprimer les valeurs de chaque ligne pour chaque feuille de calcul. Les résultats affichent les en-têtes de colonne et les valeurs de trois feuilles distinctes dans la pièce jointe Excel.
var parser = new sn_impex.GlideExcelParser();
var attachment = new GlideSysAttachment();
// Use the attachment sys_id of an Excel file
var attachmentStream = attachment.getContentStream("<attachment_sys_id>");
// Set the source to be parsed
parser.setSource(attachmentStream);
// Get the worksheet names to be parsed in the Excel document
var list_sheet_name = parser.getSheetNames();
gs.info(" Sheet Names " + list_sheet_name.join(", "));
// Iterate over each worksheet in the Excel workbook
for (var i = 0; i < list_sheet_name.length; i++) {
gs.info("**************************************************************************************");
gs.info("Sheet name: " + list_sheet_name[i]);
// Set the worksheet name to be parsed
parser.setSheetName(list_sheet_name[i]);
// Parse each worksheet set using setSheetName()
if (parser.parse()) {
//retrieve the column headers
var headers = parser.getColumnHeaders();
var header1 = headers[0];
var header2 = headers[1];
var header3 = headers[2];
//print headers
gs.info(header1 + "\t||" + header2 + "\t||" + header3);
// Iterate over each row in the worksheet
while (parser.next()) {
var row = parser.getRow();
//print row value for both columns
gs.info(row[header1] + '\t|| ' + row[header2] + '\t||' + row[header3])
}
} else
gs.info(parser.getErrorMessage());
}
Sortie :
*** Script: Sheet Names Incident Table, sys_user Table, knowledge Table
*** Script: **************************************************************************************
*** Script: Sheet name: Incident Table
*** Script: Number ||Opened ||Short description
*** Script: INC0010112 || 2019-07-29 11:48:43 ||Assessment : ATF Assessor
*** Script: INC0010111 || 2019-07-22 14:04:57 ||ATF : Test1
*** Script: INC0009009 || 2018-08-30 01:06:16 ||Unable to access the shared folder.
*** Script: **************************************************************************************
*** Script: Sheet name: sys_user Table
*** Script: User ID ||Name ||Email
*** Script: abel.tuter || Abel Tuter ||abel.tuter@example.com
*** Script: abraham.lincoln || Abraham Lincoln ||abraham.lincoln@example.com
*** Script: adela.cervantsz || Adela Cervantsz ||adela.cervantsz@example.com
*** Script: aileen.mottern || Aileen Mottern ||aileen.mottern@example.com
*** Script: alejandra.prenatt || Alejandra Prenatt ||alejandra.prenatt@example.com
*** Script: **************************************************************************************
*** Script: Sheet name: knowledge Table
*** Script: Number ||Short description ||Author
*** Script: KB99999999 || Microsoft Outlook Issues ||System Administrator
*** Script: KB0000033 || Eclipse configuration for Android development ||System Administrator
*** Script: KB0000032 || Getting Around in Windows ||System Administrator
*** Script: KB0000031 || How can I find the MAC address of my Ethernet or
wireless interface? ||Sam Sorokin
GlideExcelParser : parse(InputStream, inputStream)
Analyse un document Excel au format XLSX.
| Nom | Type | Description |
|---|---|---|
| inputStream (en anglais seulement) | GlideScriptableInputStream | Excel document fourni comme flux d’entrée. Remarque : Ne définissez pas cette valeur si vous utilisez la méthode setSource() pour analyser la même source plusieurs fois. |
| Type | Description |
|---|---|
| Booléen | Marqueur indiquant si l’analyse a réussi. Valeurs valides :
|
Exemple tiré d’un script d’API REST scripté où le fichier Excel est envoyé à l’aide d’un flux d’entrée dans la charge utile de la demande.
var parser = new sn_impex.GlideExcelParser();
parser.parse(request.body.dataStream);
L’exemple suivant montre comment analyser une pièce jointe de fichier Excel plusieurs fois pour récupérer les en-têtes de colonne et imprimer les valeurs de chaque ligne pour chaque feuille de calcul. Les résultats affichent les en-têtes de colonne et les valeurs de trois feuilles distinctes dans la pièce jointe Excel.
var parser = new sn_impex.GlideExcelParser();
var attachment = new GlideSysAttachment();
// Use the attachment sys_id of an Excel file
var attachmentStream = attachment.getContentStream("<attachment_sys_id>");
// Set the source to be parsed
parser.setSource(attachmentStream);
// Get the worksheet names to be parsed in the Excel document
var list_sheet_name = parser.getSheetNames();
gs.info(" Sheet Names " + list_sheet_name.join(", "));
// Iterate over each worksheet in the Excel workbook
for (var i = 0; i < list_sheet_name.length; i++) {
gs.info("**************************************************************************************");
gs.info("Sheet name: " + list_sheet_name[i]);
// Set the worksheet name to be parsed
parser.setSheetName(list_sheet_name[i]);
// Parse each worksheet set using setSheetName()
if (parser.parse()) {
//retrieve the column headers
var headers = parser.getColumnHeaders();
var header1 = headers[0];
var header2 = headers[1];
var header3 = headers[2];
//print headers
gs.info(header1 + "\t||" + header2 + "\t||" + header3);
// Iterate over each row in the worksheet
while (parser.next()) {
var row = parser.getRow();
//print row value for both columns
gs.info(row[header1] + '\t|| ' + row[header2] + '\t||' + row[header3])
}
} else
gs.info(parser.getErrorMessage());
}
Sortie :
*** Script: Sheet Names Incident Table, sys_user Table, knowledge Table
*** Script: **************************************************************************************
*** Script: Sheet name: Incident Table
*** Script: Number ||Opened ||Short description
*** Script: INC0010112 || 2019-07-29 11:48:43 ||Assessment : ATF Assessor
*** Script: INC0010111 || 2019-07-22 14:04:57 ||ATF : Test1
*** Script: INC0009009 || 2018-08-30 01:06:16 ||Unable to access the shared folder.
*** Script: **************************************************************************************
*** Script: Sheet name: sys_user Table
*** Script: User ID ||Name ||Email
*** Script: abel.tuter || Abel Tuter ||abel.tuter@example.com
*** Script: abraham.lincoln || Abraham Lincoln ||abraham.lincoln@example.com
*** Script: adela.cervantsz || Adela Cervantsz ||adela.cervantsz@example.com
*** Script: aileen.mottern || Aileen Mottern ||aileen.mottern@example.com
*** Script: alejandra.prenatt || Alejandra Prenatt ||alejandra.prenatt@example.com
*** Script: **************************************************************************************
*** Script: Sheet name: knowledge Table
*** Script: Number ||Short description ||Author
*** Script: KB99999999 || Microsoft Outlook Issues ||System Administrator
*** Script: KB0000033 || Eclipse configuration for Android development ||System Administrator
*** Script: KB0000032 || Getting Around in Windows ||System Administrator
*** Script: KB0000031 || How can I find the MAC address of my Ethernet or
wireless interface? ||Sam Sorokin
GlideExcelParser : setHeaderRowNumber(Number headerRowNumber)
Définissez le numéro de la ligne d’en-tête à récupérer.
| Nom | Type | Description |
|---|---|---|
| en-têteRowNumber | Numéro | Ligne d’en-tête à récupérer. |
| Type | Description |
|---|---|
| nul |
GlideExcelParser : setNullToEmpty(booléen vide)
Renvoyer une valeur vide au lieu de null lorsqu’aucune cellule Excel n’est présente.
| Nom | Type | Description |
|---|---|---|
| Non renseigné | Booléen | Si la valeur est vrai, les cellules qui ne sont pas présentes renvoient une valeur vide. Si la valeur est définie sur false, les cellules qui ne sont pas présentes retournent null. |
| Type | Description |
|---|---|
| nul |
GlideExcelParser : setSheetName(String sheetName)
Définissez le nom de la feuille à récupérer.
Si setSheetNumber() et setSheetName() sont définis, setSheetName() est utilisé.
| Nom | Type | Description |
|---|---|---|
| sheetName | Chaîne | Nom de la feuille à récupérer. |
| Type | Description |
|---|---|
| nul |
L’exemple suivant montre comment analyser une pièce jointe de fichier Excel plusieurs fois pour récupérer les en-têtes de colonne et imprimer les valeurs de chaque ligne pour chaque feuille de calcul. Les résultats affichent les en-têtes de colonne et les valeurs de trois feuilles distinctes dans la pièce jointe Excel.
var parser = new sn_impex.GlideExcelParser();
var attachment = new GlideSysAttachment();
// Use the attachment sys_id of an Excel file
var attachmentStream = attachment.getContentStream("<attachment_sys_id>");
// Set the source to be parsed
parser.setSource(attachmentStream);
// Get the worksheet names to be parsed in the Excel document
var list_sheet_name = parser.getSheetNames();
gs.info(" Sheet Names " + list_sheet_name.join(", "));
// Iterate over each worksheet in the Excel workbook
for (var i = 0; i < list_sheet_name.length; i++) {
gs.info("**************************************************************************************");
gs.info("Sheet name: " + list_sheet_name[i]);
// Set the worksheet name to be parsed
parser.setSheetName(list_sheet_name[i]);
// Parse each worksheet set using setSheetName()
if (parser.parse()) {
//retrieve the column headers
var headers = parser.getColumnHeaders();
var header1 = headers[0];
var header2 = headers[1];
var header3 = headers[2];
//print headers
gs.info(header1 + "\t||" + header2 + "\t||" + header3);
// Iterate over each row in the worksheet
while (parser.next()) {
var row = parser.getRow();
//print row value for both columns
gs.info(row[header1] + '\t|| ' + row[header2] + '\t||' + row[header3])
}
} else
gs.info(parser.getErrorMessage());
}
Sortie :
*** Script: Sheet Names Incident Table, sys_user Table, knowledge Table
*** Script: **************************************************************************************
*** Script: Sheet name: Incident Table
*** Script: Number ||Opened ||Short description
*** Script: INC0010112 || 2019-07-29 11:48:43 ||Assessment : ATF Assessor
*** Script: INC0010111 || 2019-07-22 14:04:57 ||ATF : Test1
*** Script: INC0009009 || 2018-08-30 01:06:16 ||Unable to access the shared folder.
*** Script: **************************************************************************************
*** Script: Sheet name: sys_user Table
*** Script: User ID ||Name ||Email
*** Script: abel.tuter || Abel Tuter ||abel.tuter@example.com
*** Script: abraham.lincoln || Abraham Lincoln ||abraham.lincoln@example.com
*** Script: adela.cervantsz || Adela Cervantsz ||adela.cervantsz@example.com
*** Script: aileen.mottern || Aileen Mottern ||aileen.mottern@example.com
*** Script: alejandra.prenatt || Alejandra Prenatt ||alejandra.prenatt@example.com
*** Script: **************************************************************************************
*** Script: Sheet name: knowledge Table
*** Script: Number ||Short description ||Author
*** Script: KB99999999 || Microsoft Outlook Issues ||System Administrator
*** Script: KB0000033 || Eclipse configuration for Android development ||System Administrator
*** Script: KB0000032 || Getting Around in Windows ||System Administrator
*** Script: KB0000031 || How can I find the MAC address of my Ethernet or
wireless interface? ||Sam Sorokin
GlideExcelParser : setSheetNumber(Number sheetNumber)
Définissez le numéro de la feuille Excel à récupérer.
Si setSheetNumber() et setSheetName() sont définis, setSheetNumber() est ignoré.
| Nom | Type | Description |
|---|---|---|
| numéro de feuille | Numéro | Numéro de feuille Excel à récupérer. |
| Type | Description |
|---|---|
| nul |
L’exemple suivant montre comment utiliser cette méthode pour spécifier le numéro de feuille d’un classeur de feuille de calcul joint à lire.
var parser = new sn_impex.GlideExcelParser();
var attachment = new GlideSysAttachment();
// Use the sys id of an Excel file in the sys_attachment table and copy the sys_id of attachment.
var attachmentStream = attachment.getContentStream('178e0511138b6300026e32228144b04e');
// Specify the sheet Number to be read, 0 denotes sheet 1, 1 denotes sheet 2, etc.
parser.setSheetNumber("0");
parser.parse(attachmentStream);
// retrieve the column headers (tests if on the correct sheet)
var headers = parser.getColumnHeaders();
var header1 = headers[0];
var header2 = headers[1];
var header3 = headers[2];
// print headers
gs.info('Header 1 value = ' +header1);
gs.info('Header 2 value = ' +header2);
gs.info('Header 3 value = ' +header3);
Sortie :
Header 1 value = sys_id
Header 2 value = email
Header 3 value = undefined
GlideExcelParser : setSource(InputStream, inputStream)
Définit une source d’entrée pour l’analyse plusieurs fois ou l’analyse de chaque feuille de calcul dans un fichier Excel.
| Nom | Type | Description |
|---|---|---|
| inputStream (en anglais seulement) | GlideScriptableInputStream | Document Excel fourni comme flux d’entrée. |
| Type | Description |
|---|---|
| Néant |
L’exemple suivant montre comment analyser une pièce jointe de fichier Excel plusieurs fois pour récupérer les en-têtes de colonne et imprimer les valeurs de chaque ligne pour chaque feuille de calcul. Les résultats affichent les en-têtes de colonne et les valeurs de trois feuilles distinctes dans la pièce jointe Excel.
var parser = new sn_impex.GlideExcelParser();
var attachment = new GlideSysAttachment();
// Use the attachment sys_id of an Excel file
var attachmentStream = attachment.getContentStream("<attachment_sys_id>");
// Set the source to be parsed
parser.setSource(attachmentStream);
// Get the worksheet names to be parsed in the Excel document
var list_sheet_name = parser.getSheetNames();
gs.info(" Sheet Names " + list_sheet_name.join(", "));
// Iterate over each worksheet in the Excel workbook
for (var i = 0; i < list_sheet_name.length; i++) {
gs.info("**************************************************************************************");
gs.info("Sheet name: " + list_sheet_name[i]);
// Set the worksheet name to be parsed
parser.setSheetName(list_sheet_name[i]);
// Parse each worksheet set using setSheetName()
if (parser.parse()) {
//retrieve the column headers
var headers = parser.getColumnHeaders();
var header1 = headers[0];
var header2 = headers[1];
var header3 = headers[2];
//print headers
gs.info(header1 + "\t||" + header2 + "\t||" + header3);
// Iterate over each row in the worksheet
while (parser.next()) {
var row = parser.getRow();
//print row value for both columns
gs.info(row[header1] + '\t|| ' + row[header2] + '\t||' + row[header3])
}
} else
gs.info(parser.getErrorMessage());
}
Sortie :
*** Script: Sheet Names Incident Table, sys_user Table, knowledge Table
*** Script: **************************************************************************************
*** Script: Sheet name: Incident Table
*** Script: Number ||Opened ||Short description
*** Script: INC0010112 || 2019-07-29 11:48:43 ||Assessment : ATF Assessor
*** Script: INC0010111 || 2019-07-22 14:04:57 ||ATF : Test1
*** Script: INC0009009 || 2018-08-30 01:06:16 ||Unable to access the shared folder.
*** Script: **************************************************************************************
*** Script: Sheet name: sys_user Table
*** Script: User ID ||Name ||Email
*** Script: abel.tuter || Abel Tuter ||abel.tuter@example.com
*** Script: abraham.lincoln || Abraham Lincoln ||abraham.lincoln@example.com
*** Script: adela.cervantsz || Adela Cervantsz ||adela.cervantsz@example.com
*** Script: aileen.mottern || Aileen Mottern ||aileen.mottern@example.com
*** Script: alejandra.prenatt || Alejandra Prenatt ||alejandra.prenatt@example.com
*** Script: **************************************************************************************
*** Script: Sheet name: knowledge Table
*** Script: Number ||Short description ||Author
*** Script: KB99999999 || Microsoft Outlook Issues ||System Administrator
*** Script: KB0000033 || Eclipse configuration for Android development ||System Administrator
*** Script: KB0000032 || Getting Around in Windows ||System Administrator
*** Script: KB0000031 || How can I find the MAC address of my Ethernet or
wireless interface? ||Sam Sorokin