GlideExcelParser – Umfang, Global
Die GlideExcelParser API analysiert XML-formatierte Excel-Dateien und greift auf Dateidaten in Skripts zu.
Sie können verwenden GlideExcelParser Methoden in globalen und bereichsbezogenen Skripts. Verwenden Sie sn_impex Namespace-Bezeichner zum Erstellen eines GlideExcelParser-Objekts.
GlideExcelParser – GlideExcelParser()
Erstellt eine Instanz von GlideExcelParser.
Der API-Namensraumbezeichner „sn_impex“ muss beim Erstellen eines GlideExcelParser-Objekts verwendet werden.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
var parser = new sn_impex.GlideExcelParser();
var attachment = new GlideSysAttachment();
// use attachment sys id of an excel file
var attachmentStream = attachment.getContentStream(<attachment sys id>);
parser.parse(attachmentStream);
//retrieve the column headers
var headers = parser.getColumnHeaders();
var header1 = headers[0];
var header2 = headers[1];
//print headers
gs.info(header1 + " " + header2);
while(parser.next()) {
var row = parser.getRow();
//print row value for both columns
gs.info(row[header1] + ' ' + row[header2])
}
GlideExcelParser – close()
Schließen Sie die Verbindung zum Eingabestrom, und geben Sie das Dokument frei.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Ungültig |
Dieses Beispiel zeigt, wie der Parser geschlossen wird, sobald die gesamte Dokumentverwaltung abgeschlossen ist.
// 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()
Gibt eine Liste von Spaltenheadern aus dem analysierten Dokument zurück.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Array | Ein Array von Zeichenfolgen von Spaltenheadern aus dem analysierten Dokument. |
Das folgende Beispiel zeigt, wie ein Excel-Dateianhang mehrmals analysiert wird, um Spaltenüberschriften und Druckwerte jeder Zeile für jedes Arbeitsblatt abzurufen. Ergebnisse zeigen Spaltenüberschriften und Werte von drei separaten Blättern im Excel-Anhang an.
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());
}
Ausgabe:
*** 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()
Gibt die Fehlermeldung zurück, wenn Analysieren() Methode schlägt fehl.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Die Fehlermeldung. |
GlideExcelParser – getRow()
Ruft die aktuellen Zeilenwerte und Header ab.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Objekt | Die Zeilenheader sind Eigenschaftsnamen, und die Zeilenwerte sind Eigenschaftswerte. |
Das folgende Beispiel zeigt, wie ein Excel-Dateianhang mehrmals analysiert wird, um Spaltenüberschriften und Druckwerte jeder Zeile für jedes Arbeitsblatt abzurufen. Ergebnisse zeigen Spaltenüberschriften und Werte von drei separaten Blättern im Excel-Anhang an.
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());
}
Ausgabe:
*** 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()
Ruft eine Liste aller Arbeitsblattnamen in einer Excel-Arbeitsmappe ab.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Array | Array von Zeichenfolgen als Arbeitsblattnamen, angeordnet von links nach rechts in der Arbeitsmappe. Die Ergebnisse enthalten alle Arbeitsblätter, die als ausgeblendet markiert sind. |
Das folgende Beispiel zeigt, wie ein Excel-Dateianhang mehrmals analysiert wird, um Spaltenüberschriften und Druckwerte jeder Zeile für jedes Arbeitsblatt abzurufen. Ergebnisse zeigen Spaltenüberschriften und Werte von drei separaten Blättern im Excel-Anhang an.
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());
}
Ausgabe:
*** 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()
Ruft Tabellenspaltentypen und die maximale Zeichenlänge aus einer Tabelle oder einem CSV-Anhang ab.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Objekt | Gibt Anhangsdaten als Zuordnung zurück, in der der Schlüssel der Spaltenname ist. Werte enthalten den Spaltentyp und die maximale Länge einer Zeichenfolge in der Spalte. Greifen Sie mit auf Rückgabewerte zu GetType() Und GetLength() Methoden. |
Dieses Beispiel zeigt, wie Daten aus einem 7-Spalten-Tabellenkalkulationsanhang einschließlich Zeilendaten wie 1, Meghan, 1/1/85, 1:00, 10,00%, 224-432-8582, ½.
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());
}
Ausgabe:
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()
Wechselt zur nächsten Zeile.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Boolean | Gibt „wahr“ zurück, wenn eine nächste Zeile vorhanden ist. Andernfalls wird „falsch“ zurückgegeben. |
Das folgende Beispiel zeigt, wie ein Excel-Dateianhang mehrmals analysiert wird, um Spaltenüberschriften und Druckwerte jeder Zeile für jedes Arbeitsblatt abzurufen. Ergebnisse zeigen Spaltenüberschriften und Werte von drei separaten Blättern im Excel-Anhang an.
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());
}
Ausgabe:
*** 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)
Analysiert ein XLSX-formatiertes Excel-Dokument.
| Name | Typ | Beschreibung |
|---|---|---|
| Eingabestrom | GlideScriptableInputStream | Excel Dokument t als Eingabestrom bereitgestellt. Hinweis: Legen Sie diesen Wert nicht fest, wenn Sie verwenden SetSource() Methode zum mehrfachen Analysieren derselben Quelle. |
| Typ | Beschreibung |
|---|---|
| Boolean | Kennzeichnung, die angibt, ob die Analyse erfolgreich war. Gültige Werte:
|
Beispiel aus einem geskripteten REST-API-Skript, bei dem die Excel-Datei über einen Eingabestrom in der Anforderungsnutzlast gesendet wird.
var parser = new sn_impex.GlideExcelParser();
parser.parse(request.body.dataStream);
Das folgende Beispiel zeigt, wie ein Excel-Dateianhang mehrmals analysiert wird, um Spaltenüberschriften und Druckwerte jeder Zeile für jedes Arbeitsblatt abzurufen. Ergebnisse zeigen Spaltenüberschriften und Werte von drei separaten Blättern im Excel-Anhang an.
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());
}
Ausgabe:
*** 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)
Legen Sie die Nummer der abzurufenden Headerzeile fest.
| Name | Typ | Beschreibung |
|---|---|---|
| HeaderRowNumber | Nummer | Die abzurufende Headerzeile. |
| Typ | Beschreibung |
|---|---|
| Ungültig |
GlideExcelParser – setNullToEmpty (boolescher Wert leer)
Gibt einen leeren Wert anstelle von Null zurück, wenn keine Excel-Zelle vorhanden ist.
| Name | Typ | Beschreibung |
|---|---|---|
| Leer | Boolean | Bei „wahr“ geben Zellen, die nicht vorhanden sind, einen leeren Wert zurück. Bei „falsch“ geben Zellen, die nicht vorhanden sind, Null zurück. |
| Typ | Beschreibung |
|---|---|
| Ungültig |
GlideExcelParser – setSheetName(Zeichenfolge sheetName)
Legen Sie den Namen des abzurufenden Blatts fest.
Wenn beides SetSheetNumber() Und SetSheetName() Sind festgelegt, SetSheetName() Wird verwendet.
| Name | Typ | Beschreibung |
|---|---|---|
| Blattname | Zeichenfolge | Der Name des abzurufenden Blatts. |
| Typ | Beschreibung |
|---|---|
| Ungültig |
Das folgende Beispiel zeigt, wie ein Excel-Dateianhang mehrmals analysiert wird, um Spaltenüberschriften und Druckwerte jeder Zeile für jedes Arbeitsblatt abzurufen. Ergebnisse zeigen Spaltenüberschriften und Werte von drei separaten Blättern im Excel-Anhang an.
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());
}
Ausgabe:
*** 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)
Legen Sie die Nummer des abzurufenden Excel-Blatts fest.
Wenn beides SetSheetNumber() Und SetSheetName() Sind festgelegt, SetSheetNumber() Wird ignoriert.
| Name | Typ | Beschreibung |
|---|---|---|
| Blattnummer | Nummer | Die abzurufende Excel-Blattnummer. |
| Typ | Beschreibung |
|---|---|
| Ungültig |
Das folgende Beispiel zeigt, wie diese Methode verwendet wird, um die Blattnummer einer angehängten Arbeitsmappe für Arbeitsmappen anzugeben, die gelesen werden soll.
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);
Ausgabe:
Header 1 value = sys_id
Header 2 value = email
Header 3 value = undefined
GlideExcelParser – SetSource (InputStream-InputStream)
Definiert eine Eingabequelle zum mehrfachen Analysieren oder Analysieren jedes Arbeitsblatts in einer Excel-Datei.
| Name | Typ | Beschreibung |
|---|---|---|
| Eingabestrom | GlideScriptableInputStream | Excel-Dokument als Eingabestrom bereitgestellt. |
| Typ | Beschreibung |
|---|---|
| Keine |
Das folgende Beispiel zeigt, wie ein Excel-Dateianhang mehrmals analysiert wird, um Spaltenüberschriften und Druckwerte jeder Zeile für jedes Arbeitsblatt abzurufen. Ergebnisse zeigen Spaltenüberschriften und Werte von drei separaten Blättern im Excel-Anhang an.
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());
}
Ausgabe:
*** 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