Управление свойствами документа

Введение

Microsoft Excel предоставляет возможность добавлять свойства к файлам электронных таблиц. Эти свойства документов предоставляют полезную информацию и делятся на 2 категории, как описано ниже.

  • Системные (встроенные) свойства: Встроенные свойства содержат общую информацию о документе, такую как название документа, имя автора, статистику документа и т. д.
  • Пользовательские (пользовательские) свойства: Пользовательские свойства, определенные конечным пользователем в виде пары имя-значение.

Управление свойствами документа в Microsoft Excel

Microsoft Excel позволяет управлять свойствами документа файлов Excel в режиме WYSIWYG. Пожалуйста, следуйте нижеуказанным шагам, чтобы открыть диалоговое окно Свойства в Excel 2016.

  1. В меню Файл выберите Сведения.
Выбор меню Сведения
todo:image_alt_text
  1. Нажмите на заголовок Свойства и выберите “Расширенные свойства”.
Нажмите на выбор расширенных свойств
todo:image_alt_text
  1. Управляйте свойствами документа файла.
Диалоговое окно свойств
todo:image_alt_text
В диалоговом окне свойств есть различные вкладки, такие как Общее, Резюме, Статистика, Содержание и Пользовательские. Каждая вкладка помогает настраивать различные виды информации, связанные с файлом. Вкладка Пользовательские используется для управления пользовательскими свойствами.

Работа с свойствами документа с помощью Aspose.Cells

Разработчики могут динамически управлять свойствами документа с помощью API Aspose.Cells. Эта функция помогает разработчикам сохранять полезную информацию вместе с файлом, такую как время получения файла, обработки, отметки времени и т. д.

Доступ к свойствам документа

API Aspose.Cells поддерживает оба типа свойств документа, встроенные и настраиваемые. Класс Workbook Aspose.Cells представляет собой файл Excel, и, как файл Excel, класс Workbook может содержать несколько рабочих листов, каждый из которых представлен классом Worksheet, в то время как коллекция рабочих листов представлена классом WorksheetCollection.

Используйте WorksheetCollection для доступа к свойствам документа файла, описанным ниже.

Оба WorksheetCollection.BuiltInDocumentProperties и WorksheetCollection.CustomDocumentProperties возвращают экземпляр DocumentPropertyCollection. Эта коллекция содержит DocumentProperty объекты, каждый из которых представляет одно встроенное или пользовательское свойство документа.

Это зависит от требований приложения, как получить доступ к свойству, то есть, используя индекс или имя свойства из DocumentPropertyCollection, как показано в примере ниже.

// For complete examples and data files, please go to https://github.com/aspose-tasks/Aspose.Cells-for-Java
// Instantiate a Workbook object
// Open an Excel file
Workbook workbook = new Workbook(dataDir + "sample.xls");
// Retrieve a list of all custom document properties of the Excel file
DocumentPropertyCollection customProperties = workbook.getWorksheets().getCustomDocumentProperties();
// Accessing a custom document property by using the property name
DocumentProperty customProperty1 = customProperties.get("ContentTypeId");
System.out.println(customProperty1.getName() + " " + customProperty1.getValue());
// Accessing a custom document property by using the property index
DocumentProperty customProperty2 = customProperties.get(0);
System.out.println(customProperty2.getName() + " " + customProperty2.getValue());

Класс DocumentProperty позволяет получить имя, значение и тип свойства документа:

  • Чтобы получить имя свойства, используйте DocumentProperty.Name.
  • Чтобы получить значение свойства, используйте DocumentProperty.Value. DocumentProperty.Value возвращает значение как объект.
  • Чтобы получить тип свойства, используйте DocumentProperty.Type. Это возвращает одно из значений перечисления PropertyType.
// For complete examples and data files, please go to https://github.com/aspose-tasks/Aspose.Cells-for-Java
// Instantiate a Workbook object
// Open an Excel file
Workbook workbook = new Workbook(dataDir + "sample.xls");
// Retrieve a list of all custom document properties of the Excel file
DocumentPropertyCollection customProperties = workbook.getWorksheets().getCustomDocumentProperties();
// Accessing a custom document property
DocumentProperty customProperty1 = customProperties.get(0);
// Storing the value of the document property as an object
Object objectValue = customProperty1.getValue();
// Accessing a custom document property
DocumentProperty 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() == PropertyType.STRING)
{
String value = customProperty2.getValue().toString();
}

Добавление или удаление пользовательских свойств документа

Как мы уже описывали ранее в начале этой темы, разработчики не могут добавлять или удалять встроенные свойства, потому что эти свойства определены системой, но возможно добавить или удалить пользовательские свойства, потому что они определены пользователем.

Добавление пользовательских свойств

API Aspose.Cells предоставляют метод add для класса CustomDocumentPropertyCollection с целью добавления пользовательских свойств в коллекцию. Метод add добавляет свойство в файл Excel и возвращает ссылку на новое свойство документа в виде объекта DocumentProperty.

// For complete examples and data files, please go to https://github.com/aspose-tasks/Aspose.Cells-for-Java
// Instantiate a Workbook object
// Open an Excel file
Workbook workbook = new Workbook(dataDir + "sample.xlsx");
// Retrieve a list of all custom document properties of the Excel file
CustomDocumentPropertyCollection customProperties = workbook.getWorksheets().getCustomDocumentProperties();
// Adding a custom document property to the Excel file
DocumentProperty publisher = customProperties.add("Publisher", "Aspose");

Настройка пользовательского свойства «Ссылка на содержимое»

Чтобы создать пользовательское свойство, связанное с содержимым заданного диапазона, вызовите метод CustomDocumentPropertyCollection.addLinkToContent и передайте имя свойства и источник. Вы можете проверить, настроено ли свойство как связанное с содержимым, используя свойство DocumentProperty.isLinkedToContent. Более того, также возможно получить исходный диапазон, используя свойство Source класса DocumentProperty.

Мы используем простой шаблон файла Microsoft Excel в примере. Рабочая книга содержит определенный именованный диапазон с меткой ‘MyRange’, который ссылается на значение ячейки.

// For complete examples and data files, please go to https://github.com/aspose-tasks/Aspose.Cells-for-Java
// Instantiate a Workbook object
// Open an Excel file
Workbook workbook = new Workbook(dataDir + "sample.xlsx");
// Retrieve a list of all custom document properties of the Excel file
CustomDocumentPropertyCollection customProperties = workbook.getWorksheets().getCustomDocumentProperties();
// Add link to content.
customProperties.addLinkToContent("Owner", "MyRange");
// Accessing the custom document property by using the property name
DocumentProperty customProperty1 = customProperties.get("Owner");
// Check whether the property is lined to content
Boolean islinkedtocontent = customProperty1.isLinkedToContent();
// Get the source for the property
String source = customProperty1.getSource();

Удаление пользовательских свойств

Чтобы удалить пользовательские свойства с помощью Aspose.Cells, вызовите метод DocumentPropertyCollection.remove и передайте имя удаляемого свойства документа.

// For complete examples and data files, please go to https://github.com/aspose-tasks/Aspose.Cells-for-Java
// Instantiate a Workbook object
// Open an Excel file
Workbook workbook = new Workbook(dataDir + "sample.xlsx");
// Retrieve a list of all custom document properties of the Excel file
DocumentPropertyCollection customProperties = workbook.getWorksheets().getCustomDocumentProperties();
// Removing a custom document property
customProperties.remove("Publisher");