Verwalten von Dokumenteigenschaften mit Node.js via C++
Einführung
Microsoft Excel bietet die Möglichkeit, Eigenschaften zu Tabellendateien hinzuzufügen. Diese Dokumenteigenschaften liefern nützliche Informationen und sind in 2 Kategorien unterteilt, wie unten näher beschrieben.
- Systemdefinierte (eingebaute) Eigenschaften: Eingebaute Eigenschaften enthalten allgemeine Informationen zum Dokument wie Dokumententitel, Autorname, Dokumentenstatistiken und so weiter.
- Benutzerdefinierte (benutzerdefinierte) Eigenschaften: Benutzerdefinierte Eigenschaften, die vom Endbenutzer in Form von Schlüssel-Wert-Paar definiert werden.
So verwalten Sie Dokumenteigenschaften mit Microsoft Excel
Microsoft Excel ermöglicht es, die Dokumenteigenschaften der Excel-Dateien WYSIWYG-mäßig zu verwalten. Bitte folgen Sie den unten stehenden Schritten, um den Eigenschaften-Dialog in Excel 2016 zu öffnen.
- Wählen Sie im Datei-Menü Info aus.
Auswahl des Info-Menüs |
---|
![]() |
- Klicken Sie auf die Überschrift Eigenschaften und wählen Sie “Erweiterte Eigenschaften” aus.
Klicken Sie auf die Auswahl der erweiterten Eigenschaften |
---|
![]() |
- Verwalten Sie die Dokumenteigenschaften der Datei.
Eigenschaften Dialog |
---|
![]() |
Im Eigenschaften-Dialog gibt es verschiedene Registerkarten wie Allgemein, Zusammenfassung, Statistiken, Inhalt und Benutzerdefinierte. Jede Registerkarte dient dazu, verschiedene Arten von Informationen im Zusammenhang mit der Datei zu konfigurieren. Die Registerkarte Benutzerdefiniert wird verwendet, um benutzerdefinierte Eigenschaften zu verwalten. |
So arbeiten Sie mit Dokumenteigenschaften mit Aspose.Cells
Entwickler können die Dokumenteigenschaften dynamisch mit den Aspose.Cells APIs verwalten. Diese Funktion hilft den Entwicklern, nützliche Informationen zusammen mit der Datei zu speichern, z. B. wann die Datei empfangen, verarbeitet, zeitgestempelt wurde usw.
Aspose.Cells for Node.js via C++ schreibt direkt die Informationen über API und Versionsnummer in die Ausgabedokumente. Zum Beispiel, beim Rendern eines Dokuments zu PDF füllt Aspose.Cells for Node.js via C++ die Felder Anwendung mit dem Wert ‘Aspose.Cells’ und PDF-Ersteller mit dem Wert, z.B. ‘Aspose.Cells v17.9’.
Bitte beachten Sie, dass Sie Aspose.Cells for Node.js via C++ nicht anweisen können, diese Informationen aus Ausgabedokumenten zu ändern oder zu entfernen.
Wie Sie auf Dokumenteigenschaften zugreifen
Aspose.Cells APIs unterstützen beide Arten von Dokumenteigenschaften, eingebaut und benutzerdefiniert. Die Klasse Workbook von Aspose.Cells repräsentiert eine Excel-Datei und, wie eine Excel-Datei, kann die Klasse Workbook mehrere Arbeitsblätter enthalten, die jeweils durch die Klasse Worksheet dargestellt werden, während die Sammlung der Arbeitsblätter durch die Klasse WorksheetCollection repräsentiert wird.
Verwenden Sie den WorksheetCollection, um auf die Dokumenteigenschaften der Datei wie unten beschrieben zuzugreifen.
- Um auf die integrierten Dokumenteigenschaften zuzugreifen, verwenden Sie WorksheetCollection.getBuiltInDocumentProperties().
- Um auf benutzerdefinierte Dokumenteigenschaften zuzugreifen, verwenden Sie WorksheetCollection.getCustomDocumentProperties().
Sowohl WorksheetCollection.getBuiltInDocumentProperties() als auch WorksheetCollection.getCustomDocumentProperties() geben die Instanz von Aspose.Cells.Properties.DocumentPropertyCollection zurück. Diese Sammlung enthält Aspose.Cells.Properties.DocumentProperty Objekte, die jeweils eine einzelne eingebaut oder benutzerdefinierte Dokumenteigenschaft repräsentieren.
Es liegt an der Anwendungsanforderung, wie man auf eine Eigenschaft zugreift; d.h. entweder durch Verwendung des Index oder des Namens der Eigenschaft aus DocumentPropertyCollection, wie im Beispiel unten demonstriert.
const path = require("path");
const AsposeCells = require("aspose.cells.node");
// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
const filePath = path.join(dataDir, "sample-document-properties.xlsx");
// Instantiate a Workbook object
// Open an Excel file
const workbook = new AsposeCells.Workbook(filePath);
// Retrieve a list of all custom document properties of the Excel file
const customProperties = workbook.getCustomDocumentProperties();
// Accessing a custom document property by using the property name
const customProperty1 = customProperties.get("ContentTypeId");
console.log(`${customProperty1.getName()} ${customProperty1.getValue()}`);
// Accessing the same custom document property by using the property index
const customProperty2 = customProperties.get(0);
console.log(`${customProperty2.getName()} ${customProperty2.getValue()}`);
Die Klasse Aspose.Cells.Properties.DocumentProperty erlaubt das Abrufen des Namens, Werts und Typs der Dokumenteigenschaft:
- Um den Eigenschaftsnamen zu erhalten, verwenden Sie DocumentProperty.getName().
- Um den Eigenschaftswert zu erhalten, verwenden Sie DocumentProperty.getValue(). DocumentProperty.getValue() gibt den Wert als Objekt zurück.
- Um den Eigenschaftstyp zu erhalten, verwenden Sie DocumentProperty.getType(). Dies gibt einen der PropertyType Aufzählungswerte zurück. Nachdem Sie den Eigenschaftstyp erhalten haben, nutzen Sie eine der Methoden DocumentProperty.ToXXX, um den Wert des entsprechenden Typs zu erhalten, anstatt DocumentProperty.getValue() zu verwenden. Die DocumentProperty.ToXXX-Methoden sind in der Tabelle unten beschrieben.
Member Name | Beschreibung | ToXXX Methode |
---|---|---|
Boolean | Der Eigenschaftsdatentyp ist Boolean | ToBool |
Date | Der Eigenschaftsdatentyp ist DateTime. Beachten Sie, dass Microsoft Excel nur den Datumsanteil speichert, keine Zeit in einer benutzerdefinierten Eigenschaft dieses Typs gespeichert werden kann | ToDateTime |
Float | Der Eigenschaftsdatentyp ist Double | ToDouble |
Number | Der Eigenschaftsdatentyp ist Int32 | ToInt |
String | Der Datentyp der Eigenschaft ist string | ToString |
const path = require("path");
const AsposeCells = require("aspose.cells.node");
// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
const filePath = path.join(dataDir, "sample-document-properties.xlsx");
// Instantiate a Workbook object
// Open an Excel file
const workbook = new AsposeCells.Workbook(filePath);
// Retrieve a list of all custom document properties of the Excel file
const customProperties = workbook.getCustomDocumentProperties();
// Accessing a custom document property
const customProperty1 = customProperties.get(0);
// Storing the value of the document property as an object
const objectValue = customProperty1.getValue();
// Accessing a custom document property
const customProperty2 = customProperties.get(1);
// Checking the type of the document property and then storing the value of the
// document property according to that type
if (customProperty2.getType() === AsposeCells.PropertyType.String) {
const value = customProperty2.getValue().toString();
console.log(`${customProperty2.getName()} : ${value}`);
}
Hinzufügen oder Entfernen von benutzerdefinierten Dokumenteigenschaften
Wie wir zu Beginn dieses Themas bereits beschrieben haben, können Entwickler integrierte Eigenschaften nicht hinzufügen oder entfernen, da diese Eigenschaften systemdefiniert sind, es ist jedoch möglich, benutzerdefinierte Eigenschaften hinzuzufügen oder zu entfernen, da diese benutzerdefiniert sind.
Hinzufügen von benutzerdefinierten Eigenschaften
Aspose.Cells APIs haben die Methode add(string, string) für die Klasse CustomDocumentPropertyCollection bereitgestellt, um benutzerdefinierte Eigenschaften zur Sammlung hinzuzufügen. Die Methode add(string, string) fügt die Eigenschaft in die Excel-Datei ein und gibt eine Referenz auf die neue Dokumenteigenschaft als Aspose.Cells.Properties.DocumentProperty Objekt zurück.
const path = require("path");
const AsposeCells = require("aspose.cells.node");
// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
// Instantiate a Workbook object
// Open an Excel file
const workbook = new AsposeCells.Workbook(path.join(dataDir, "sample-document-properties.xlsx"));
// Retrieve a list of all custom document properties of the Excel file
const customProperties = workbook.getCustomDocumentProperties();
// Adding a custom document property to the Excel file
customProperties.add("Publisher", "Aspose");
// Saving resultant spreadsheet
workbook.save(path.join(dataDir, "out_sample-document-properties.xlsx"));
Wie konfiguriert man die benutzerdefinierte Eigenschaft „Verknüpfung zum Inhalt“?
Um eine benutzerdefinierte Eigenschaft zu erstellen, die mit dem Inhalt eines bestimmten Bereichs verknüpft ist, rufen Sie die Methode CustomDocumentPropertyCollection.addLinkToContent(string, string) auf und übergeben den Eigenschaftsnamen und die Quelle. Sie können überprüfen, ob eine Eigenschaft als mit Inhalt verknüpft konfiguriert ist, indem Sie die DocumentProperty.isLinkedToContent() Eigenschaft verwenden. Außerdem ist es möglich, den Quellenbereich mit der getSource() Eigenschaft der DocumentProperty Klasse abzurufen.
Im Beispiel verwenden wir eine einfache Vorlage einer Microsoft Excel-Datei. Die Arbeitsmappe hat einen definierten benannten Bereich namens MeinBereich, der sich auf einen Zellenwert bezieht.
const path = require("path");
const AsposeCells = require("aspose.cells.node");
// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
// Instantiate an object of Workbook
// Open an Excel file
const workbook = new AsposeCells.Workbook(path.join(dataDir, "sample-document-properties.xlsx"));
// Retrieve a list of all custom document properties of the Excel file
const customProperties = workbook.getWorksheets().getCustomDocumentProperties();
// Add link to content.
customProperties.addLinkToContent("Owner", "MyRange");
// Accessing the custom document property by using the property name
const customProperty1 = customProperties.get("Owner");
// Check whether the property is linked to content
const isLinkedToContent = customProperty1.isLinkedToContent();
// Get the source for the property
const source = customProperty1.getSource();
// Save the file
workbook.save(path.join(dataDir, "out_sample-document-properties.xlsx"));
Wie entfernt man benutzerdefinierte Eigenschaften
Um benutzerdefinierte Eigenschaften mit Aspose.Cells zu entfernen, rufen Sie die Methode DocumentPropertyCollection.remove(string) auf und übergeben den Namen der zu entfernenden Dokumenteigenschaft.
const path = require("path");
const AsposeCells = require("aspose.cells.node");
// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
// Instantiate a Workbook object
// Open an Excel file
const workbook = new AsposeCells.Workbook(path.join(dataDir, "sample-document-properties.xlsx"));
// Retrieve a list of all custom document properties of the Excel file
const customProperties = workbook.getCustomDocumentProperties();
// Removing a custom document property
customProperties.remove("Publisher");
// Save the file
workbook.save(path.join(dataDir, "out_sample-document-properties.xlsx"));
Erweiterte Themen
- Hinzufügen von benutzerdefinierten Eigenschaften, die im Dokumentinformationsfeld sichtbar sind
- Festlegen der Eigenschaften ScaleCrop und LinksUpToDate der integrierten Dokumenteigenschaften
- Festlegen der Dokumentversion der Excel-Datei unter Verwendung eingebauter Dokumenteigenschaften
- Festlegen der Sprache der Excel-Datei unter Verwendung eingebauter Dokumenteigenschaften