Как установить атрибут в excel

  • Download source code

Summary

Attributes can be used to improve maintainability. I converted this application to use Attributes to specify information with each property in the class, making maintenance a lot easier and reduce the chances of bugs. These properties of each property are used to modify the properties before use, and to determine whether the value of the property is valid. Previously there was a method in the class that returned a collection of classes that contained this information.

Introduction

I previously posted an article Excel Add-in Framework for Validating and Exporting Data on Codeproject. Before I posted it I made a number of improvements over my original implementation, many of which improved reuse. Eventually the design required only one customized class to use outside of some UI stuff. I also wanted to improve the way that validation was specified. I originally designed the specification of the validation to be done with anonymous methods, but this was not as maintainable as I would have liked. Part of the problem was that I not only had to have the properties defined in a class, but I also had to specify the properties in a method that included the name of the property as a string, and the validation. This meant that there were two places had to define a property, with all the maintenance issues associated with this.

I suspected that I could do better by using the Attribute class, but there were more important issues to clean up and I had never programmed attributes. Then there were a number of design issues that would have to be resolved, and the possibility of doing serious damage to the application.

Research

I started out searching for articles on the Codeproject site. The first article I read was A Programmer’s Introduction to C# — Chapter 21. The article is Ok, but was a little simplistic, probably because it was targeted at a class and not a class’s properties and methods. The second article was much more useful: An attribute based approach to business object validation was more useful since it was somewhat similar to what I was doing, but I did not think he used his attributes as well as he could have.

Attribute Design

All the classes for the attributes for validation should inherit from an interface so that it would be easy to filter. Only a method required does do the actual validation having a single argument which is of type ValueValidator. This works great since it has all the information needed for validation, and encapsulates the Value string so when the Value property is updated, the code does not have to worry about strings being immutable. I want to be able to update the Value property for several reasons:

  • Convert all the characters to a specific case,
  • Allow that formatting can be applied such as displaying only the date from DateTime fields.
  • So substitution can be done.
interface IValueValidationAttribute
{
  string Validate(ValueValidator valueValidator);
}

An example of an Attribute that inherits from this interface that validates that a value is a valid date:

[AttributeUsage(AttributeTargets.Property)]
public class IsDateValueValidationAttribute : Attribute, IValueValidationAttribute
{
  private readonly string _returnFormat;

  public IsDateValueValidationAttribute(string returnFormat = null)
  {
    _returnFormat = returnFormat;
  }

  public string Validate(ValueValidator valueValidator)
  {
    Contract.Requires(valueValidator != null, "value argument is null");
    DateTime date;
    if (!DateTime.TryParse(valueValidator.Value, out date))
      return "The value must be a valid date";
    if (_returnFormat != null)
      valueValidator.Value = date.ToString(_returnFormat);
    return null;
  }
}

As can be seen, the constructor takes an optional argument that is the format to return if Value is a valid DataTime format. The Validate method then is responsible for checking that the Value matches the requirements. If it does, a null is returned, otherwise a string describing the error is returned. Also, the argument form the constructor is used to update the ValueValidator Value property so it will be a string of the value in the specified format. In use in the example the format is specified to be short date so that when displayed in the DataGridView control, only the date will displayed, and not the time.

AbstractValidationObject Class

To use these attributes, a class inherits from the abstract AbstractValidationObject class. The class that inherits is used to define the properties that will be exported as properties and provide attributes for these properties that define the validation and if the title (which is the name of the property) must be in the header row for validation. There are two methods in this class. One of the properties returns a collection of ValueValidator class instances, one for each property that is to be read from the excel sheet:

public IEnumerable<ValueValidator> GetValidators()
{
  return GetType().GetProperties().Select(
    propertyInfo => new ValueValidator(propertyInfo, this));
}

Notice that a new instance of the ValueValidator class is created each time the GetValidators method is called. This is because each ValueValidator represents a cell in the Excel spreadsheet and thus a single value of the property.

The second method does the validation on a single ValueValidator instance:

public string Validate(ValueValidator valueValidator)
{
  var propertyInfo = GetType().GetProperty(valueValidator.HeaderText);
  return propertyInfo.GetCustomAttributes(
      typeof(IValueValidationAttribute), false).
    Select(customAttribute => ((IValueValidationAttribute)customAttribute).
        Validate(valueValidator)).
        FirstOrDefault(returnResult => returnResult != null);
}

The return value is a string that describes the error if there is an issue with validation. If the value within the ValueValidator is valid, the return value is null. The ValueValidator provides both the name of the property and the value. The name is used to look up the PropertyInfo for the property using reflection, and then reflection is used to look the custom attributes using the GetCustomAttributes method of the PropertyInfo class. The GetCustomAttributes argument is used to filter only those Attributes that inherit from IValueValidationAttribute. Fortunately the order is maintain, so the instances of IValueValidationAttribute can be processed in the order they are enumerated. This is done by executing the Validate method on the class returned. This Validate method determines if the Value in the ValueValidator passes a single test. Process continues until first instance of the Attribute instance returns a no-null string, or all instances have been processed.

ValueValidator Class

The ValueValidator class is used to contain information about the property, and specific information about the cell containing the specific information. There will be a ValueValidator instance for each property for each Excel row. Thus the ValueValidator maintains the following information

  • The Header text and or the property name (could change the design to have optionally a different text for the header). This is used for looking up the PropertyInfo in the AbstractValidationObject class and searching for the cell that represents the header for the column. There is also information about if the header is required to successfully process the worksheet.
  • The cell associated with the value, which is used to reset the formatting if necessary. Resetting the formats needs to also be saved. Information on how to reset the Excel cell formatting uses ISaveFormats interface.
  • The Value that user wants associated with property that will be validated.
  • An instance of the AbstractValidationObject that is used for validating. In the design, all ValueValidator instances are using the same instance of the AbstractValidationObject class for validation.

In the constructor, the ValueValidator takes two arguments: the PropertyInfo argument which is used to find attributes associated with the property such as the Header Text, and the AbstractValidationObject instance, which is used for validation.

public ValueValidator(PropertyInfo propertyInfo,
    AbstractValidationObject abstractValidationObject)
{
  Name = propertyInfo.Name;
  var alternateTitleAttribute = (AlternateTitleAttribute)propertyInfo.
    GetCustomAttributes(typeof(AlternateTitleAttribute), false).FirstOrDefault();
  HeaderText = alternateTitleAttribute == null ? Name :
    alternateTitleAttribute.AlternateTitle;
  Required = propertyInfo.GetCustomAttributes
    (typeof(RequiredTitleAttribute), false).Any();
  _abstractValidationObject = abstractValidationObject;
  Validate(null, false);
}

The most important method in the ValueValidator is the Validate method which takes and argument of the Excel Range which is the worksheet cell, and a flag that indicates if an error is to be thrown when validation fails.

public void Validate(Range cell, bool throwException = true)
{
  _cell = cell;
  Value = cell == null ? string.Empty : cell.Value == null ?
    string.Empty : cell.Value.ToString();
  IsValid = true;
  _errorMessage = _abstractValidationObject.Validate(this);
  if (!string.IsNullOrEmpty(_errorMessage))
  {
    _errorMessage = string.Format(_errorMessage, HeaderText);
    IsValid = false;
    if (throwException)
      throw new ValidatorException(_errorMessage);
  }

}

The functions that this method is responsible for are:

  • Saving an instance of the Range object which represents the cell containing the value. This is required so that the cell can be formatted to give feedback to the user about validation errors, and later to reset the formatting.
  • Updating the Value property to the value contained in the cell.
  • Running the AbstractValidationObject Validate method, saving the return value which represents the error message. Also does
  • Formatting on the error message if there is a validation header (adding the Header text to the message if so formatted) and throwing a ValidatorException if the return from the validation is not null.
  • Setting or resetting the IsValid property so that it can be determined if a row passed all validation.

Additional Advantage of New Design

If you look at the original project you will see that I wrap a string in a class to make it mutable. This was used in the validators so that the Value could be updated. Using the attribute design the Value property of the ValueValidator instance is updated when value is changed.

Conclusion

Attributes make the code for customizing this Excel code to support the generic code used to export data a lot cleaner and easier to maintain. I particularly like that it is really easy to add an attribute, but this does not increase the complexity of customizing up the export. The flexibility of the approach was shown when I added the ability to have a title with spaces. This just required adding a new attribute, and some changes in the initialization of the ValueValidator constructor. I also added a new property because I needed the property name readily available.

Has been working as a C# developer on contract for the last several years, including 3 years at Microsoft. Previously worked with Visual Basic and Microsoft Access VBA, and have developed code for Word, Excel and Outlook. Started working with WPF in 2007 when part of the Microsoft WPF team. For the last eight years has been working primarily as a senior WPF/C# and Silverlight/C# developer. Currently working as WPF developer with BioNano Genomics in San Diego, CA redesigning their UI for their camera system. he can be reached at qck1@hotmail.com.

Хитрости »

2 Май 2016              24987 просмотров



Если вы работаете(или работали) в более-менее крупной компании, то 100% сталкивались с ситуацией, когда необходимо переслать свой файл другому сотруднику и при этом запретить ему изменять какие-то данные (чаще всего это ячейки с формулами, которые пользователь ни в коем случае не должен менять, а в идеале даже видеть. Видеть он должен только результат вычислений этих формул). В тоже время надо оставить возможность при необходимости изменить любые ячейки или данные, но исключительно после ввода пароля. Все это можно сделать при помощи стандартной защиты листов в Excel.

Установка защиты листов
Чтобы защитить лист необходимо перейти на вкладку Рецензирование(Review) -группа Изменения(Changes)Защитить лист(Protect sheet).
в Excel 2003СервисЗащитаЗащитить лист.
для версий Excel 2010 и выше так же можно щелкнуть правой кнопкой мыши на ярлыке нужного листа и выбрать Защитить лист(Protect sheet)
После нажатия появится окно:
Окно защиты листа
В первом поле Пароль для отключения защиты листа необходимо указать пароль, который будет использоваться для снятия защиты с листа в случае необходимости. Если поле оставить пустым, то для снятия защиты с листа не потребуется вводить пароль и защиту сможет снять любой, кто знает как снимать защиту. Защита без пароля как правило применяется в случаях, когда файлом пользуются исключительно компетентные пользователи, которые отдают себе отчет в том, какие ячейки надо изменять, а какие не трогать. Защита в этом случае предназначена лишь от случайных неверных действий.
Второе поле несколько хитрее и имеет множество пунктов, которые можно отметить галочками. Пункты перечисляют действия, которые будут разрешены пользователю после установки защиты на лист. Это означает, что если установить галочку на пункт «вставку столбцов», то даже после установленной защиты на листе будет доступна возможность добавления новых столбцов без снятия защиты с листа. По умолчанию при первой установке защиты галочки установлены только на первых двух пунктах(выделение заблокированных ячеек и выделение незаблокированных ячеек). Большинство пунктов достаточно красноречивы и не нуждаются в подробном пояснении, но на некоторых стоит остановиться чуть подробнее. После установки защиты пользователю так же будет разрешено(если напротив пункта установлен флажок):

  • выделение заблокированных ячеек(Select locked cells) — разрешено выделять ячейки, для которых установлен атрибут Защищаемая ячейка (правая кнопка мыши на ячейке/диапазоне —Формат ячеек(Format cells) -вкладка Защита(Protection)Защищаемая ячейка(Locked)). Если отметить этот пункт, то пункт выделение незаблокированных ячеек будет отмечен автоматически, т.к. если разрешено выделение заблокированных ячеек, то конечно, должно быть разрешено выделять и незаблокированные.
  • выделение незаблокированных ячеек(Select unlocked cells) — будет разрешено выделять только те ячейки, для которых атрибут Защищаемая ячейка не установлен. Применяется вместе с отключением пункта выделение заблокированных ячеек, чтобы запретить пользователю после установки защиты даже выделять запрещенные к изменению ячейки. Таким образом пользователь будет вынужден перемещаться только по тем ячейкам, которые ему можно изменять. Подробнее про применение свойства «Защищаемая ячейка» можно ознакомиться в этой статье: Как разрешить изменять только выбранные ячейки?
  • форматирование ячеек(Format cells) — будет разрешено изменять форматы ячеек: цвет заливки, цвет шрифта, размер шрифта, имя шрифта, границы, отступы и т.п.
  • форматирование столбцов(Format columns) — несмотря на вроде понятное название при установке разрешает изменять ширину столбцов. При этом, если пункт форматирование ячеек не установлен, то изменять цвет шрифта, заливки и т.п. будет запрещено
  • форматирование строк(Format rows) — так же как и в случае с пунктом форматирование столбцов при установке разрешает изменять высоту строк, но при этом невозможно изменять цвет шрифта, заливки и т.п., если пункт форматирование ячеек не установлен
  • вставку столбцов(Insert columns) — разрешает вставку целых столбцов (вставлять отдельные ячейки при этом запрещено)
  • вставку строк(Insert rows) — разрешает вставку целых строк (вставлять отдельные ячейки при этом запрещено)
  • вставку гиперссылок(Insert hyperlinks) — разрешает создание гиперссылок на листе (Что такое гиперссылка?). Правда, при этом создать гиперссылки можно будет исключительно в незаблокированных ячейках.
  • удаление столбцов(Delete columns) — разрешает удаление целых столбцов. При этом удаление столбцов допускается только в том случае, если столбец не содержит заблокированных ячеек. Если хоть одна ячейка в столбце с атрибутом «Защищаемая ячейка», то удаление столбца невозможно. Так же невозможно удалять отдельные ячейки внутри столбцов, даже если все ячейки не заблокированные
  • удаление строк(Delete rows) — разрешает удаление целых строк. При этом удаление строк допускается только в том случае, если строка не содержит заблокированных ячеек. Если в строке есть хоть одна ячейка с атрибутом «Защищаемая ячейка», то удаление строки невозможно. Так же невозможно удалять отдельные ячейки внутри строк, даже если все ячейки в строке не заблокированные
  • сортировку(Sort) — один из «хитрых» пунктов. Хоть сам пункт сортировки активен и доступен для вызова, сама сортировка при этом разрешена только в том случае, если все ячейки внутри сортируемого диапазона не заблокированные. Если внутри диапазона будет хоть одна заблокированная ячейка (с атрибутом «Защищаемая ячейка»), то сортировка будет невозможна
  • использование автофильтра(Use Autofilter) — тоже «хитрый» пункт. Как следует из описания допускается только использование автофильтра. Это означает, что если автофильтр уже установлен на листе, то после защиты его можно будет использовать для отбора данных. Однако если фильтр не был установлен до установки защиты на лист — то установить фильтр будет уже невозможно без снятия защиты
  • использование отчетов сводной таблицы(Use PivotTable reports) — при установке будет возможно использовать сводную таблицу для анализа данных: перемещать поля внутри сводной таблицы, отбирать и фильтровать данные. Однако невозможно при этом будет изменить источник данных, обновлять сводную, изменять функции полей, добавлять вычисляемые поля, убирать и добавлять промежуточные итоги, менять макет отчета, стили и т.п.
  • изменение объектов(Edit objects) — будет возможно добавлять, выделять и даже удалять объекты на листе, а так же изменять их размеры и большинство свойств (цвета границ, заливки, эффекты свечения и стилей и пр.). К объектам в данном случае относятся Фигуры(Shapes), Рисунки(Pictures), объекты SmartArt, Диаграммы(Charts)
  • изменение сценариев(Edit scenarios) — если до установки защиты были созданы сценарии (Данные(Data)Анализ Что-если(What-If Analysis)Диспетчер сценариев(Scenario manager)), то после установки защиты их можно будет изменять.

После установки нужных параметров и нажатия ОК:

  • если пароль не был указан, то на лист будет установлена защита без пароля с указанными параметрами
  • если был указан пароль, то перед защитой появится еще одно окно, в котором будет предложено подтвердить пароль. Там единственное поле, в которое надо просто ввести тот же пароль, что и в первом окне. При установке пароля следует помнить, что регистр букв различается (А и а — будут считаться разными символами), а если указать пароль русскими буквами, то при открытии файла на ПК под управлением MAC OS возможны ошибки преобразования данных и снять защиту установленным паролем будет невозможно. Поэтому лучше применять символы английского алфавита, цифры и доп.символы(!@#$%^&*)

Если после установки защиты пользователь должен иметь возможность выделять все ячейки на листе, но так же необходимо запретить ему доступ к просмотру формул, то перед установкой защиты в нужных ячейках необходимо проделать следующее: выделяем все необходимые ячейки -правая кнопка мыши —Формат ячеек(Format cells) -вкладка Защита(Protection). Устанавливаем флажок на пункте Скрыть формулы(Hidden) (чаще всего используется вместе с установкой галочки на Защищаемая ячейка(Locked)). После этого устанавливаем защиту.

Так же можно защищать только отдельные ячейки на листе: Как разрешить изменять только выбранные ячейки? Для чего это нужно? Как правило применяется в случаях, если в файле применяются формулы и расчеты на основании введенных пользователем данных. При этом пользователь не должен иметь доступ к ячейкам с формулами, но должен иметь возможность изменять данные определенных ячеек, от которых зависят сами формулы и их результат.

Если в файле присутствует группировка или структура (Данные(Data)Группировать(Group)), то её использование будет невозможно на защищенном листе. Она будет доступна только в том виде, в котором была до установки защиты. Хотя здесь тоже есть лазейка, но уже только с применением Visual Basic for Applications(VBA — встроенный в MS Office язык программирования): Как оставить возможность работать с группировкой/структурой на защищенном листе?

Если в файле используются макросы или файл предполагается обрабатывать макросами, то в макросах необходимо предусмотреть снятие кодом защиты перед какими-либо изменениями на листе и последующую установку защиты после всех необходимых действий. Подробнее можно прочитать в статье: Как защитить лист от пользователя, но не от макроса?

Снятие защиты с листа
Чтобы снять защиту с листа необходимо перейти на вкладку Рецензирование(Review) -группа Изменения(Changes)Снять защиту листа(Unprotect sheet). Если лист был защищен без пароля, то защита будет снята сразу. Если лист был защищен с указанием пароля, то появится окно с запросом пароля
Снятие защиты
в это поле необходимо ввести пароль и нажать Ок. Если пароль неизвестен или был забыт, то стандартно снять защиту с листа будет уже невозможно.

Насколько стойкая защита листов в Excel
К сожалению или счастью защита листов в Excel совершенно не стойкая ко взлому. Защита с листа, если пароль не известен, снимается на раз-два даже при помощи VBA. В надстройке MulTEx есть специальная команда, которая поможет снять защиту с листа, если пароль был забыт или утерян: Снять защиту с листа(без пароля).
Но стоит учитывать тот факт, что защита листов изначально не планировалась как средство защиты своих расчетных алгоритмов и интеллектуальной собственности. Защита листов(как и книг) задумывалась как защита «от дурака» — т.е. дабы случайно или по неумению данные не были испорчены или удалены.
Плюс Microsoft все же совершенствует Excel и с выходом новых версий происходят изменения и в области защиты, что не может не радовать. Например, защита листов и книг начиная с версии Excel 2013 уже более стойкая(для тех кто в теме: алгоритм SHA-512 в 2013 и выше против SHA1 в ранних версиях). Это значит, что простым брутфорсом поломать такую защиту хоть и можно, но времени на это уйдет уже гораздо больше. Хотя для снятия защиты с листов в открытых форматах(.xlsx,.xlsm и им подобных) возможно и другими методами.

Также см.:
Защита листов/снятие защиты
Снять защиту с листа(без пароля)
Как разрешить изменять только выбранные ячейки?
Как защитить лист от пользователя, но не от макроса?
Как оставить возможность работать с группировкой/структурой на защищенном листе?


Статья помогла? Поделись ссылкой с друзьями!

  Плейлист   Видеоуроки


Поиск по меткам



Access
apple watch
Multex
Power Query и Power BI
VBA управление кодами
Бесплатные надстройки
Дата и время
Записки
ИП
Надстройки
Печать
Политика Конфиденциальности
Почта
Программы
Работа с приложениями
Разработка приложений
Росстат
Тренинги и вебинары
Финансовые
Форматирование
Функции Excel
акции MulTEx
ссылки
статистика

В правой части окна, которое выводится на экран при выборе команды Сведения из вкладки Файл, располагается информационная область Свойства. Мало кто из пользователей обращает на нее внимание, поскольку кажется, что Excel автоматически заполняет все необходимые поля. На самом деле эта команда незаменима при создании сложной системы электронного документооборота, поскольку помогает очень гибко отнести файл к той или иной категории в сложной иерархии документов и обеспечить его быстрый и надежный поиск.

Мы уже частично описывали команду Свойства и ее окно настройки в разделе Интерфейс Excel 2010. Но в основном окне свойств мы можем настроить только некоторые параметры текущей книги Excel. Для того чтобы получить доступ ко всем параметрам, необходимо на экран вывести дополнительные окна. Если в выпадающем списке, который появляется при щелчке на слове Свойства выбрать команду Показать область сведений о документе, на экран будет выведено окно (рис. 2.7):

Рис. 2.7. Вызов окна дополнительных свойств документа

Рис. 2.7. Вызов окна дополнительных свойств документа

Выбор в этом же списке команды Дополнительные свойства выводит на экран окно с множеством вкладок (рис. 2.8).

Рис. 2.8. Общие свойства документа

Рис. 2.8. Общие свойства документа

Вкладка Общие содержит только справочные сведения о документе: имя файла, его тип, папку, в которой он размещен, размер файла, его имя в формате MS-DOS, даты создания, последнего открытия и изменения документа, а также атрибуты файла документа. Свойства на данной вкладке не изменяются вручную, программа Excel заполняет их сама, соотнося с реальными сведениями о файле документа.

На вкладке Документ находятся многочисленные поля, часть которых программа Excel пытается заполнить сама, но будет лучше, если вы проконтролируете этот процесс и измените введенные автоматически сведения там, где это необходимо.

  • Название — в это поле нужно ввести название документа, отвечающее его содержанию, но при этом отличающееся от имени файла, в котором он сохранен.
  • Тема — в это поле вводится тема документа.
  • Автор — программа Excel заполняет это поле сама, указывая автором документа зарегистрированного пользователя программы. Если в момент регистрации вы указали (как это произошло со мной) вместо своей реальной фамилии и инициалов псевдоним, то он будет помещаться во все создаваемые вами документы. Откорректируйте в случае необходимости содержание данного поля.

    [stextbox id=»info»]Имя пользователя Excel, которое помещается в данное поле автоматически, можно изменить, выбрав команду Кнопка Office Параметры Excel и введя новые данные в поле Имя пользователя на вкладке Основные открывшегося диалогового окна.[/stextbox]

  • Руководитель — это поле нужно заполнять в том случае, если документ разрабатывается в рамках проекта, у которого естьЭто может быть дипломный проект, проект маркетинговых исследований и т. п.
  • Организация — это поле также заполняется программой автоматически с использованием тех сведений, которые вы вводили при регистрации.
  • Группа — это поле позволяет отнести документ к той или иной категории в иерархической структуре электронного документооборота.
  • Ключевые слова — сюда нужно записать несколько основных понятий, используемых в документе. Заполнение этого поля облегчает тематический поиск документов.
  • Заметки — в это поле запишите все, что вы считаете нужным внести в параметры, доступные для поиска, но что не вошло в предыдущие поля. Можно оставить это поле пустым.
  • База гиперссылки — если вы будете использовать в документе относительные гиперссылки, то в этом поле укажите, какой локальный или сетевой каталог будет считаться корневым для данного документа.
  • Шаблон — в этом поле указывается, какой шаблон использовался при создании данного документа.
  • Сохранять эскизы для всех документов Excel — установка этого приведет к созданию миниатюры, которая будет доступна для просмотра в диалоговом окне открытия файла. Это ускоряет просмотр, но и увеличивает размер файла, поскольку миниатюра хранится вместе с документом.

Вкладка Статистика содержит исчерпывающие сведения о составе документа, количестве абзацев, слов, символов, строк, знаков, общем времени правки. Обратите внимание на число в поле Редакция, которое показывает, сколько раз вы сохраняли документ за все время его редактирования.

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

Вкладка Прочие позволяет добавить в документ дополнительные поля, чтобы можно было осуществлять более эффективный поиск не только документов, но и отдельных объектов внутри документа. Под «объектом» документа Excel понимается установленная в документе закладка. Система поиска файлов MS Office использует эти поля при выполнении операции поиска по заданным параметрам.


Загрузить PDF


Загрузить PDF

Сводная таблица может предоставить множество полезной информации для анализа данных в рабочем документе. Иногда даже самая хорошо составленная сводная таблица отображает больше информации, чем вам нужно. В таком случае, нужно установить фильтр для этой сводной таблицы. Фильтр можно устанавливать и менять в любое время, изменяя порядок отображения информации для различных пользователей. Мы расскажем вам, как добавить фильтр в сводную таблицу, чтобы получить больше контроля над отображением данных.

Шаги

  1. Изображение с названием Add Filter to Pivot Table Step 1

    1

    Запустите Microsoft Excel.

  2. Изображение с названием Add Filter to Pivot Table Step 2

    2

    Откройте файл, с которым вы будете работать, в котором содержится сводная таблица и исходные данные, которые нужно фильтровать.

  3. Изображение с названием Add Filter to Pivot Table Step 3

    3

    Выберите рабочий документ со сводной таблицей. Откройте его в новой вкладке.

  4. Изображение с названием Add Filter to Pivot Table Step 4

    4

    Установите атрибут, по которому вы хотите сортировать и фильтровать данные в сводной таблице.

    • Этот атрибут должен быть одним из ярлыков колонки в таблице с исходными данными.
    • Например, предположим, что ваши исходные данные содержат информацию о продажах продукции за месяц в определенном регионе. Вы можете выбрать, например, месяц в качестве атрибута для вашего фильтра, чтобы скрыть эти данные или наоборот показывать их.
  5. Изображение с названием Add Filter to Pivot Table Step 5

    5

    Запустите мастер сводных таблиц или другую программу для создания и управления таблицами, нажав на клетку внутри сводной таблицы.

  6. Изображение с названием Add Filter to Pivot Table Step 6

    6

    Перетяните нужный ярлык столбца, который вы будете использовать для создания фильтра, в секцию «Установить фильтр» в списке опций для редактирования сводной таблицы.

    • Имя этого поля уже может находиться в секции «Ярлыки столбцов».
    • Название ярлыка уже может быть указано в списке названий всех клеток таблицы.
  7. Изображение с названием Add Filter to Pivot Table Step 7

    7

    Установите фильтр для сводной таблицы.

    • Вы можете установить фильтр, позволяющий скрыть или наоборот выделить отображение определенных данных. Нажмите на стрелочку возле фильтров по ярлыку и выберите опцию «Выбрать несколько предметов». Введите атрибуты для фильтра.

    Реклама

Советы

  • Спрячьте ряды, содержащие фильтр, используя «Защитный лист», а затем установите пароль, если вы не хотите, чтобы другие пользователи могли редактировать фильтр для этой сводной таблицы. Таким образом, разные пользователи будут видеть различные данные в вашей сводной таблице.
  • Вы можете фильтровать данные для любого участка сводной таблицы, отредактировав настройки ярлыка и название ряда или столбца. Установите нужные атрибуты в поле «Установить фильтр».

Реклама

Об этой статье

Эту страницу просматривали 12 271 раз.

Была ли эта статья полезной?

На чтение 12 мин. Просмотров 23.1k.

Расчёты с использованием сложных формул, построение сводных таблиц и графиков, написание макросов — это явно не то, с чего началось Ваше знакомство с Excel. На первых порах ваши таблички выглядели примерно вот так (см. рисунок ниже) и самая главная проблема была в том: «Как сделать из чисел проценты, а суммы со знаком рубль/доллар?”

Форматы ячеек в Excel

Все начинали с подобных таблиц 🙂

Вспомнили себя? Ну сейчас — то Вы уже профи и умеете цвета заливки менять и когда слышите про формат ячеек начинаете хихикать) Я же написал эту статью, в которой собрал самую полную информацию о форматах ячеек. Ознакомьтесь с оглавлением ниже и поймёте, что вы много не знали.

Содержание

  1. О чём вообще речь? Покажи примеры!
  2. Что такое формат чисел?
  3. Где вы можете найти числовые форматы?
  4. Общий формат по умолчанию
  5. Как изменить формат ячейки?
  6. Как создавать свои собственные форматы
  7. Как создать собственный формат номера
  8. Как изменить пользовательский формат
  9. Структура формата и справочная информация
  10. Не все разделы необходимы
  11. Коды для настройки формата
  12. Пользовательские форматы для дат
  13. Форматы для отображения времени
  14. Цифровые форматы для ЦВЕТОВ
  15. Проверка условий
  16. Применение форматов в формуле ТЕКСТ
  17. Примеры с сайтов

О чём вообще речь? Покажи примеры!

В Excel достаточно много уже готовых форматов, однако возможны ситуации, в которых ни один вам не подойдет.

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

  • для дат показывать день недели и только название месяца,
  • миллионы и сотни тысяч показывать без ненужных нулей,
  • цветом шрифта обращать внимание пользователей на отрицательные числа или значения с ошибками.

Примеры пользовательских форматов

Примеры пользовательских форматов

Где вы можете использовать пользовательские форматы чисел?

Самый распространённый вариант использования пользовательских форматов – это непосредственно таблица на листе Excel, но также Вы можете использовать их:

  • в сводных таблицах — с помощью настроек поля значения

Использование пользовательского формата в сводных таблицах

  • при построении графиков (в подписях данных и в настройках осей)

Использование пользовательского формата при построении графиков

  • в формулах (через функцию ТЕКСТ)

Использование пользовательского формата в формулах

Для начала давайте всё же разберёмся с основными понятиями.

Что такое формат чисел?

Пользовательский формат — это специальный код, отвечающий отображение значения в Excel. Например, в таблице ниже показаны 8 разных форматов чисел, примененных к той же дате, 1 мая 2020 года:

Формат чисел

Самое главное, что вы должны понимать: в Excel есть два разных понятия: значение в ячейке и его графическое отображение. Вот форматы меняют способ отображения значений, но они не изменяют само значение. Если вернутся к рисунку выше, то значение в ячейке везде одно (01.05.2020), но с помощью формата мы можем по-разному его показывать пользователю.

Где вы можете найти числовые форматы?

На Вкладке Главная вы найдете меню встроенных форматов чисел. Ниже этого меню вправо имеется небольшая кнопка для доступа ко всем форматам, включая пользовательские форматы:

числовые форматы

Эта кнопка открывает диалоговое окно «Формат ячеек». Вы найдете полный список форматов чисел, организованных по категориям, на вкладке «Число»:

Формат ячеек

Диалоговое окно «Формат ячеек» на вкладке «Число»

Примечание. Вы можете открыть диалоговое окно «Формат ячеек» с помощью сочетания клавиш Ctrl + 1


Общий формат по умолчанию

По умолчанию ячейки начинаются с применяемого общего формата. Отображение чисел с использованием формата Общий несколько «вялое». На приведенном ниже рисунке значения в столбцах B и D одни и те же. Просто ширина столбца D меньше и Excel делает корректировки значений.

Общий формат

Видите, что Excel отображает столько знаков после запятой, сколько позволяет ширина ячейки. Он сам округляет десятичные числа и начинает использовать формат научных чисел, когда места в ячейке столбца D ограничено.

Как изменить формат ячейки?

Вы можете выбрать стандартные форматы номеров (общий, номер, валюта, учет, короткий формат даты и др.) на вкладке «Главная» ленты с помощью меню «Формат ячейки».

При вводе данных Excel иногда автоматически меняет числовые форматы. Например, если вы введете допустимую дату, Excel изменится на формат «Дата». Если вы введете процент, равный 5%, Excel изменится на «Процент» и так далее.

Способ 1. Формат по образцу (одноразовое использование)

Формат по образцу

Способ 2. Формат по образцу (МНОГОразовое использование)

Формат по образцу

Всё как и в первом способе, только делайте двойной клик по иконке Формат по образцу. Чтобы завершить использование формата по образцу нажмите ESC

Способ 3. Через специальную вставку

Специальная вставка

Как создавать свои собственные форматы

В нижней части предопределенных форматов вы увидите категорию под названием (все форматы). В этой категории отображается список кодов, которые вы можете использовать для пользовательских форматов чисел, а также область ввода для ввода кодов вручную в различных комбинациях.

Собственный формат

Когда вы выберете код из списка, вы увидите его в поле ввода «Тип». Здесь вы можете изменить существующий код или ввести свои коды с нуля. Excel покажет небольшой предварительный просмотр кода, применяемого к первому выбранному значению над областью ввода.

Форматы, которые Вы создаёте самостоятельно хранятся в текущем Excel-файле, а не в Excel вообще. Если вы скопируете значение, отформатированное в соответствии с пользовательским форматом, из одного файла в другой, то формат будет перенесен в книгу вместе со значением.

Как создать собственный формат номера

Чтобы создать собственный формат номера, выполните следующие 4 шага:

  1. Выберите ячейку (ячейки) со значениями, которые вы хотите отформатировать.
  2. Нажмите сочетание клавиш Ctrl + 1 Число Все форматы
  3. Введите код формата и просмотрите в поле как будет выглядеть значение в ячейке.
  4. Нажмите OK, чтобы сохранить и применить только что созданный формат

Как показывает практика, на шаге 3 возникают основные сложности, т.к. пока вам не совсем понятно что писать в поле Тип.

Если вы хотите создать свой собственный формат в существующем формате, сначала примените базовый формат, затем щелкните категорию «Пользовательский» и отредактируйте коды по своему усмотрению.

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

Как изменить пользовательский формат

Вы не можете редактировать собственный формат, так как при изменении существующего формата создается новый формат и будет отображаться в списке в категории «Пользовательский». Вы можете использовать кнопку «Удалить», чтобы удалить пользовательские форматы, которые вам больше не нужны.

Предупреждение: после удаления пользовательского формата нет «отмены»!

Структура формата и справочная информация

Пользовательский формат ячейки в Excel имеет определенную структуру. Каждый формат может содержать до четырех разделов, разделенных точкой с запятой:

структура формата

На первый взгляд всё выглядит сложным, но это только в начале. Чтобы прочитать пользовательский формат, научитесь определять точки с запятой и мысленно анализировать код в этих разделах:

  1. Положительные значения (зелёным цветом)
  2. Отрицательные значения (красным цветом перед числом будем ставить -)
  3. Нулевые значения (будем писать текст «тут нолик»)
  4. Текстовые значения (будем показывать текст «введи число, а не текст»)

Не все разделы необходимы

Хотя формат может включать до четырех разделов, минимально требуется только один раздел.

  • Когда вы определяете только один формат, Excel будет использовать этот формат для всех значений (больше/меньше 0, нуля и текста).
  • Если вы установили формат только с двумя разделами, первый раздел используется для положительных чисел и нулей, а второй — для отрицательных чисел.
  • Чтобы пропустить раздел, укажите точку с запятой в нужном месте, но не указывайте код формата.

Используя формат ;;; (три точки с запятой), вы можете скрывать значения. Само значение в ячейке будет (сможете использовать в формулах), но его не будет видно.

Коды для настройки формата

Коды для числовых форматов

Определенные символы имеют особое значение в кодах пользовательских номеров. Следующие символы являются ключевыми строительными блоками:

Ноль (0) используется для принудительного отображения нулей, когда число имеет меньше цифр, чем нули в формате. Например, пользовательский формат 0,00 будет показывать нуль как 0,00, 1,1 как 1,10 и ,5 как 0,50.

Коды для настройки формата

Примеры использования 0 (ноль) в формате

Знак решетка (#) является заполнителем для необязательных цифр. Когда число имеет меньше цифр, чем # символов в формате, ничего не будет отображаться. Например, пользовательский формат #, ## будет отображать 1,15 как 1,15 и 1,1 как 1,1.

Коды для настройки формата

Примеры использования # (решетки) в формате

Вопросительный знак (?) Аналогичен нулю, но отображает пробелы для незначащих нулей по обе стороны от разделителя. Используется для выравнивания цифр. Когда знак вопроса занимает место, которое не требуется в количестве, будет добавлено пространство для поддержания визуального выравнивания. Используется также в дробях с переменным количеством знаков.

Коды для настройки формата

Примеры использования ? (знака вопроса) в формате

Пробел ( ) является заполнителем для тысяч разделителей в отображаемом числе. Его можно использовать для определения поведения цифр по отношению к тысячам или миллионам цифр.

Коды для настройки формата

Звёздочка (*) используется для повторения символов. Символ, следующий за звездочкой, будет повторяться, чтобы заполнить оставшееся пространство в ячейке.

Коды для настройки формата

Примеры использования * (звёздочки) в формате

Подчеркивание (_) используется для добавления пробела в числовом формате. Символ, следующий за символом подчеркивания, определяет, сколько места нужно добавить. Обычным использованием символа подчеркивания является добавление пространства для выравнивания положительных и отрицательных значений, когда числовой формат добавляет круглые скобки только к отрицательным числам. Например, числовой формат «0 _»; (0) » добавляет немного места справа от положительных чисел, чтобы они оставались выровненными с отрицательными числами, заключенными в круглые скобки.

Коды для настройки формата

Примеры использования _ (подчёркивания) в формате

Автоматическое округление

Важно понимать, что Excel будет выполнять «визуальное округление» со всеми форматами пользовательских номеров. Когда число имеет больше цифр, чем заполнители в правой части десятичной точки, число округляется до количества заполнителей. Когда число имеет больше цифр, чем заполнители в левой части десятичной точки, отображаются дополнительные цифры. Это только визуальный эффект — фактические значения не изменяются.

Форматы ячеек для ТЕКСТА

Чтобы отобразить оба текста вместе с цифрами, заключите текст в двойные кавычки («»). Вы можете использовать этот подход для добавления или добавления текстовых строк в формате пользовательского номера, как показано в таблице ниже.

Форматы ячеек для ТЕКСТА

Знаки, которые можно использовать в формате

Форматы ячеек для ТЕКСТА

Пример знаков кода формата, отображаемых без кавычек

Помимо знака доллара, есть возможность вводить без кавычек и несколько других значков валют.

Некоторые символы будут работать некорректно в формате ячеек. Например, символы звездочки (*), хеш (#) и процента (%) не могут использоваться непосредственно в пользовательском формате — они не будут отображаться в результате. На помощь приходит обратная косая черта (). Поместив обратную косую черту перед символом, вы можете использовать их в пользовательских форматах:

Форматы ячеек для ТЕКСТА

Пользовательские форматы для дат

Даты в Excel — это просто цифры, поэтому вы можете использовать пользовательские форматы чисел, чтобы изменить способ отображения. Excel многие конкретные коды, которые вы можете использовать для отображения компонентов даты по-разному. На следующей картинке показано, как Excel отображает дату в C5, 14 августа 2019 года, с различными форматами:

Пользовательские форматы для дат

Коды формата для дат

Форматы для отображения времени

Показываем время «обычное»

Время в Excel — это дробные части дня. Например, 6:00 – 0,25; 12:00 — 0,5, а 18:00 — 0,75. Вы можете использовать следующие коды в своих форматах для отображения компонентов времени по-разному. Посмотрите ниже как Excel отображает время в D5, 9:35:07, с различными форматами:

Форматы для отображения времени

Кодовые коды формата для «обычного» времени

м и мм нельзя использовать отдельно в пользовательском формате чисел, так как они конфликтуют с кодом номера месяца в кодах формата даты.

Форматы для «прошедшего» времени

Прошедшее время — это особый случай для отображения значений, превышающих 24 для часов и 60 для минут и секунд. Достаточно добавить квадратные скобки [], чтобы увидеть в ячейке сколько прошло часов, минут и секунд. На следующем экране показано, как Excel показывает прошедшее время, основанное на значении в D5, которое составляет 1,25 дня:

Форматы для отображения времени

Кодовые коды формата для «прошедшего» времени

Цифровые форматы для ЦВЕТОВ

Существует два способа определения цвета в формате ячеек. Самый распространённый вариант – написать в квадратных скобках название цвета. Excel знает следующие 8 цветов по имени в цифровом формате:

  • [черный]
  • [белый]
  • [красный]
  • [зеленый]
  • [синий]
  • [желтый]
  • [пурпурный]
  • [голубой]

Имена цветов должны появляться в скобках.

Цифровые форматы для ЦВЕТОВ

Пример формата ячейки с цветами (пишем название текстом)

Если вам мало 8 цветов, то радостная весть в том, что также можно указать цвета по номеру индекса (Цвет1, Цвет2, Цвет3 и т. Д.). Нижеприведенные примеры используют формат пользовательского номера: [ЦветX] 0, где X — номер от 1 до 56

Символы треугольника добавлены только для того, чтобы сделать цвета более удобными для просмотра. Первое изображение отображает все 56 цветов на стандартном белом фоне. На втором изображении изображены те же цвета на сером фоне. Обратите внимание, что первые 8 цветов соответствуют названному списку цветов выше.

Цифровые форматы для ЦВЕТОВ

Результат применения формата [ЦветN]0″▲ ▼»] на белом фоне
Цифровые форматы для ЦВЕТОВ
Результат применения формата [ЦветN]0″▲ ▼»] на сером фоне

Проверка условий

Форматы пользовательских номеров также допускают условия, которые записываются в квадратных скобках, таких как [> 100] или [<= 100]. Когда вы используете условные обозначения в пользовательских числовых форматах, вы переопределяете стандартную структуру >0, <0, 0, текст. Например, чтобы отображать значения ниже 100 красным цветом, вы можете использовать:

[Красный][<100]0;0

Для отображения значений, больших или равных 100 в синем, вы можете расширить формат следующим образом:

[Красный][<100]0;[Синий][>=100]0

Проверка условий

Если оставить <100 и >100 (без равно), тогда в ячейке с числом 100 увидите ###########. Это значит, что Excel не может определить как отображать 100. Увеличение ширины столбца не исправит ситуации, нужно менять формат, добавлять >=

Чтобы более легко применять цвета и другие атрибуты ячеек, такие как цвет заливки и т.д., Вы захотите использовать Условное форматирование

Напишите в сообщения сообщества «хочу УФ» и я направлю в ответ видеоурок по работе с данным инструментом. Следите за группой, я готовлю статью с большим количеством примеров использования УФ.

Применение форматов в формуле ТЕКСТ

Хотя большинство форматов чисел применяются непосредственно к ячейкам на листе, вы также можете применять форматы чисел внутри формулы с помощью функции ТЕКСТ. Например, в ячейке A1 написана формула СЕГОДНЯ(). Ниже два варианта получения названия месяца.

  • в B2 с помощью формата
  • в B4 с помощью формулы ТЕКСТ(A1;»ММММ») (м — вводим на русском ЗАГЛАВНЫМИ)

Применение форматов в формуле ТЕКСТ

ВАЖНО: результатом функции ТЕКСТ всегда является текстовое значение, поэтому вы можете соединять результат формулы с другими текстовыми значениями: =«Отчёт продаж за :» & ТЕКСТ(A1; «ММММ»)

Примеры с сайтов

Примеры с сайтов

https://excel2.ru/articles/polzovatelskiy-chislovoy-format-v-ms-excel-cherez-format-yacheek

  • Форматы ячеек в Excel
  • Форматы ячеек в Excel
  • Форматы ячеек в Excel

А какие вы используете нестандартные форматы?

Какие испытываете сложности в их создании?

Сегодня мы поговорим о том, какие бывают свойства у документа, и как можно их просматривать и редактировать в Excel 2010 и 2013. Прочитав эту статью, Вы также узнаете, как защитить документ от любых изменений и как удалить персональные данные из листа Excel.

Помните свои чувства в самом начале знакомства с Excel 2010 или 2013? Лично я иногда очень злился, когда не мог найти нужный инструмент или параметр там, где привык их видеть в предыдущих версиях Excel. То же самое касается и свойств документа в Excel 2010 / 2013. В данных версиях они запрятаны достаточно глубоко, но даже несмотря на это мы быстро до них доберёмся.

В этой статье Вас ждёт подробная инструкция о том, как просматривать и изменять свойства документа, как защитить документ от любых изменений и как удалить персональные данные из листа Excel. Поехали!

  • Какие у документа бывают свойства
  • Просматриваем свойства документа
  • Изменяем свойства документа
    • Самый быстрый способ добавить автора
    • Изменяем имя автора по умолчанию
    • Настраиваем пользовательские свойства
    • Изменяем прочие свойства документа
  • Удаляем свойства документа
  • Защищаем свойства документа

Содержание

  1. Какие у документа бывают свойства
  2. Просматриваем свойства документа
  3. Способ 1. Отображаем «Область сведений о документе»
  4. Способ 2. Открываем диалоговое окно «Свойства»
  5. Способ 3. Используем Проводник Windows
  6. Изменяем свойства документа
  7. Самый быстрый способ добавить автора
  8. Изменяем имя автора, заданное по умолчанию
  9. Настраиваем пользовательские свойства
  10. Изменяем прочие свойства документа
  11. Удаляем свойства документа
  12. Подключаем к работе «Инспектор документов»
  13. Удаляем метаданные из нескольких документов
  14. Защищаем свойства документа

Какие у документа бывают свойства

Прежде чем мы начнём учиться просматривать, изменять и удалять свойства документа (метаданные) в Excel 2010 и 2013, давайте разберёмся, какие вообще бывают свойства у документов MS Office.

Тип 1. Стандартные свойства – общие для всех приложений Office. Сюда входит базовая информация о документе – название, тема, автор, примечание и так далее. Для этих свойств можно вручную установить собственные текстовые значения, чтобы облегчить поиск нужного документа на компьютере.

Тип 2. Автоматически обновляемые свойства – это данные о файле документа, которые управляются и изменяются системой. Например, размер файла и время, когда он был создан или изменён. Некоторые свойства уникальны для документов определённого приложения, например, число страниц, слов, символов или версия приложения. Такие свойства обновляются автоматически при редактировании.

Тип 3. Пользовательские свойства – это свойства, заданные пользователем. Вы можете самостоятельно добавить дополнительные свойства к документу Office.

Тип 4. Свойства организации – это свойства, определяемые Вашей организацией.

Тип 5. Свойства библиотеки документов относятся к документам, которые находятся в библиотеке документов на сайте или в общей папке. Человек, который создаёт библиотеку, может задать некоторые свойства для документов библиотеки и установить правила для их значений. Добавляя документ в такую библиотеку, нужно будет ввести значения для всех требуемых свойств или исправить имеющиеся свойства в соответствии с установленными правилами.

Просматриваем свойства документа

Для тех, кто не знает, где найти информацию о документе в Excel 2010 или 2013, предлагаем три варианта:

Способ 1. Отображаем «Область сведений о документе»

Этот способ позволяет просматривать информацию о документе прямо на рабочем листе.

  1. Откройте вкладку Файл (File).
  2. В меню слева кликните Сведения (Info). Появится панель свойств. Здесь уже можно увидеть некоторую информацию о документе.Изменение свойств документа в Excel
  3. Раскройте выпадающее меню Свойства (Properties).
  4. Нажмите Показать область сведений о документе (Show Document Panel).Изменение свойств документа в Excel

После этого Excel автоматически возвращается в режим редактирования рабочего листа, а между лентой меню и рабочей областью листа мы видим «Область сведений о документе», как показано на рисунке ниже.

Изменение свойств документа в Excel

Как видите, «Область сведений о документе» показывает ограниченный набор свойств. Если желаете узнать больше о своём документе, приступайте ко второму способу.

Способ 2. Открываем диалоговое окно «Свойства»

Если «Область сведений о документе» не дала нужную информацию, попробуйте обратиться к дополнительным свойствам. Первый способ посмотреть дополнительные свойства – использовать все туже «Область сведений о документе».

  1. Кликните Свойства документа (Document Properties) в левом верхнем углу области.
  2. В открывшемся меню нажмите Дополнительные свойства (Advanced Properties).Изменение свойств документа в Excel
  3. На экране появится диалоговое окно Свойства (Properties).Изменение свойств документа в Excel

Здесь собраны сведения о документе, которые расположены на вкладках: Общие (General), Статистика (Statistics) и Состав (Contents). Вы можете редактировать основную информацию на вкладке Документ (Summary) или установить дополнительные свойства для документа на вкладке Прочие (Custom). Хотите узнать, как это делается? Терпение! Далее мы поговорим об этом подробнее.

Есть ещё один способ вызвать диалоговое окно Свойства (Properties):

  1. Первые три шага сделайте так же, как описано в способе 1.
  2. В выпадающем меню Свойства (Properties) нажмите Дополнительные свойства (Advanced Properties).Изменение свойств документа в Excel

На экране появится то же самое диалоговое окно.

Способ 3. Используем Проводник Windows

Ещё один простой способ отобразить метаданные – использовать Проводник Windows, не открывая лист Excel вовсе.

  1. Откройте в Проводнике Windows папку, содержащую файлы Excel.
  2. Выберите нужный файл.
  3. Кликните по нему правой кнопкой мыши и в контекстном меню нажмите Свойства (Properties).Изменение свойств документа в Excel
  4. На вкладке Подробно (Details) можно найти заголовок, тему, автора документа, комментарии и другие данные.Изменение свойств документа в Excel

Теперь Вы знаете 3 различных способа просмотра свойств документа на компьютере, поэтому без труда найдёте всю важную информацию.

Изменяем свойства документа

Ранее я обещал рассказать о том, как изменять свойства документа. Итак, просматривая свойства при помощи описанных выше способа 1 и способа 2, можно быстро добавить нужную информацию или отредактировать имеющиеся данные. Для способа 3 это тоже возможно, но только не в Windows 8.

Самый быстрый способ добавить автора

Если нужно только добавить автора, то в Excel 2010 или 2013 это можно сделать очень быстро прямо на вкладке Файл (File).

  1. Откройте вкладку Файл > Сведения (File > Info).
  2. В правой части окна найдите группу сведений Связанные пользователи (Related People).
  3. Щёлкните мышью по строке Добавить автора (Add an author).Изменение свойств документа в Excel
  4. В появившемся поле введите имя автора.
  5. Кликните в любом месте окна Excel, введённое имя будет сохранено автоматически.Изменение свойств документа в Excel

Авторов, работающих над документом, можно указать любое количество. Таким же быстрым способом Вы можете изменить заголовок документа или добавить теги и категории.

Изменяем имя автора, заданное по умолчанию

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

  1. Откройте в Excel вкладку Файл (File).
  2. В меню слева выберите Параметры (Options).Изменение свойств документа в Excel
  3. В диалоговом окне Параметры Excel (Excel Options) кликните раздел Общие (General).
  4. Пролистайте вниз до группы параметров Личная настройка Microsoft Office (Personalize your copy of Microsoft Office).
  5. В поле Имя пользователя (User name) введите правильное имя.
  6. Нажмите ОК.Изменение свойств документа в Excel

Настраиваем пользовательские свойства

Я уже упоминал о том, что автор может настроить дополнительные свойства для своего документа Excel. Далее описано, как это делается шаг за шагом:

  1. Откройте вкладку Файл (File), раздел Сведения (Info).
  2. В правой части окна нажмите Свойства (Properties).
  3. В выпадающем списке выберите Дополнительные свойства (Advanced Properties).
  4. В появившемся диалоговом окне Свойства (Properties) перейдите на вкладку Прочие (Custom).Изменение свойств документа в Excel
  5. Выберите одно из предложенных свойств или введите собственное в поле Название (Name).
  6. В выпадающем списке Тип (Type) выберите тип данных для нового свойства.
  7. В поле Значение (Value) введите значение свойства.
  8. Нажмите кнопку Добавить (Add), как показано на картинке ниже.Изменение свойств документа в Excel

Замечание: Формат данных в поле Значение (Value) должен соответствовать тому, что выбрано в выпадающем списке Тип (Type). Например, если выбран тип данных Число (Number), то в поле Значение (Value) должно быть введено число. Значения, которые не соответствуют выбранному типу данных, будут сохранены как текст.

  1. После того, как свойство добавлено, его можно увидеть в нижней части окна в поле Свойства (Properties). Далее нажмите ОК.Изменение свойств документа в Excel

Если кликнуть по только что добавленному свойству и затем нажать Удалить > ОК (Delete > OK), то это свойство исчезнет.

Изменяем прочие свойства документа

Чтобы изменить остальные метаданные (помимо имени автора, заголовка, тегов и категорий), используйте либо «Область сведений о документе», либо диалоговое окно Свойства (Properties).

  • Если открыта «Область сведений о документе», то достаточно просто поставить курсор в поле нужного свойства и ввести требуемые данные.
  • Если открыто диалоговое окно Свойства (Properties), то перейдите на вкладку Документ (Summary) и добавьте или измените существующие данные в полях, затем нажмите ОК.

Вернитесь к редактированию листа Excel, и все сделанные изменения будут сохранены автоматически.

Удаляем свойства документа

Если хотите замести следы и сделать так, чтобы никто не смог найти в свойствах документа Ваше имя или название организации – используйте один из следующих способов, которые позволяют скрыть любое свойство или персональные данные от публичного доступа.

Подключаем к работе «Инспектор документов»

«Инспектор документов» применяется для поиска скрытых свойств и персональных данных. Кроме этого, с его помощью можно удалить из книги свойства, которые не должны попасть на глаза другим пользователям.

  1. Откройте вкладку Файл > Сведения (File > Info).
  2. Найдите раздел Подготовить к общему доступу (Prepare for Sharing). В Excel 2013 этот раздел называется Проверка книги (Inspect Workbook).
  3. Нажмите Поиск проблем (Check for Issues).
  4. В выпадающем меню выберите Инспектор документов (Ispect Document).Изменение свойств документа в Excel
  5. Появится диалоговое окно Инспектор документов (Document Inspector), в котором предлагается выбрать, наличие какого содержимого в документе нужно проверить. Я оставил выбранными все предложенные пункты, хотя меня в первую очередь интересует пункт Свойства документа и персональные данные (Document Properties and Personal Information).
  6. Когда выбор сделан, нажмите Проверить (Ispect) в нижней части окна.Изменение свойств документа в ExcelИ вот, на экране появились результаты работы инспектора.
  7. В каждой категории, где сочтёте нужным, кликните Удалить все (Remove All). В моём случае это Свойства документа и персональные данные (Document Properties and Personal Information).Изменение свойств документа в Excel
  8. Закройте окно Инспектор документов (Document Inspector).

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

Удаляем метаданные из нескольких документов

При помощи Проводника Windows можно удалить свойства сразу из нескольких документов.

  1. Откройте в Проводнике Windows папку, содержащую файлы Excel.
  2. Выделите нужные файлы.
  3. Кликните по ним правой кнопкой мыши и в контекстном меню нажмите Свойства (Properties).
  4. В появившемся диалоговом окне перейдите на вкладку Подробно (Details).
  5. В нижней части диалогового окна кликните ссылку Удаление свойств и личной информации (Remove Properties and Personal Information).Изменение свойств документа в Excel
  6. Выберите Удалить следующие свойства для этого файла (Remove the following properties from this file).
  7. Отметьте галочкой те свойства, которые надо удалить, или кликните Выделить все (Select All), если нужно удалить все свойства.
  8. Нажмите ОК.Изменение свойств документа в Excel

Замечание: Таким способом можно удалить любое свойство документа из одного или нескольких файлов, даже если у Вас на компьютере установлена Windows 8.

Защищаем свойства документа

Защита свойств документа и личной информации пригодится в том случае, если Вы не хотите, чтобы другие пользователи изменяли метаданные или что-то ещё в Вашем документе.

  1. Откройте вкладку Файл (File), раздел Сведения (Info).
  2. В Excel 2010 кликните кнопку Защита книги (Protect Workbook) рядом с подзаголовком Разрешения (Permissions). В Excel 2013 эта кнопка и подзаголовок имеют одинаковое название – Защита книги (Protect Workbook).
  3. В выпадающем меню нажмите Пометить как окончательный (Mark as Final).Изменение свойств документа в Excel
  4. После этого появится окно с сообщением о том, что эта версия документа будет помечена как окончательная, а значит другим пользователям не будет позволено вносить какие-либо изменения. Требуется либо подтвердить это действие, нажав ОК, либо отказаться, нажав Отмена (Cancel).Изменение свойств документа в Excel

Если нужно предоставить право редактировать документ только некоторым пользователям, то можно установить пароль и сообщить его доверенному кругу лиц.

  1. Откройте вкладку Файл (File).
  2. В меню слева нажмите Сохранить как (Save as).
  3. Внизу диалогового окна Сохранение документа (Save as) раскройте выпадающий список Сервис (Tools).
  4. Выберите Общие параметры (General Options).Изменение свойств документа в Excel
  5. В поле Пароль для изменения (Password to modify) введите пароль.
  6. Нажмите ОК.Изменение свойств документа в Excel
  7. Введите тот же пароль ещё раз для подтверждения.
  8. Нажмите ОК.Изменение свойств документа в Excel
  9. Выберите папку для сохранения документа и нажмите Сохранить (Save).

Теперь Ваш документ защищён от несанкционированного редактирования. Но будьте осторожны! Тот, кто знает пароль, легко может удалить его из поля Пароль для изменения (Password to modify) и дать другим читателям Вашего документа возможность изменять информацию на рабочем листе.

Ух ты! Статья получилась довольно длинной! Моей целью было осветить все заслуживающие внимания аспекты просмотра, изменения и удаления свойств документа. Надеюсь, Вы найдёте правильные ответы на вопросы, связанные с метаданными.

Оцените качество статьи. Нам важно ваше мнение:

Время на прочтение
7 мин

Количество просмотров 16K

Итак, продолжаем разговор. На всякий случай уточню, что начало здесь.

Про строковые значения и метод их хранения я уже вскользь упоминал в первой части, а сейчас поговорим подробнее. Представим, что у нас есть таблица, заполненная строковыми данными, и что она большая. При этом крайне маловероятно, что все значения в ней будут уникальны. Некоторые из них нет-нет, да повторятся где-нибудь в разных частях таблицы. Хранить такой массив «как есть» внутри XML-разметки листа нерационально с точки зрения ресурсов ПК. Поэтому все строковые значения вынесены в отдельный файл, %file%/xl/sharedStrings.xml. Часть его, которая нас интересует, выглядит, допустим, так:

<sst xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" count="4" uniqueCount="3">
	<si><t>Вася</t></si>
	<si><t>Петя</t></si>
	<si><t>Саша</t></si>
</sst>

Обратите внимание на атрибуты тега <sst /> «count» и «uniqueCount»: их значения различаются. Дело в том, что в книге одну из строк я использовал дважды. При этом атрибуты не обязательны, то есть если их убрать, то Excel ошибки не выдаст, но при сохранении файла нарисует опять.

Здесь же можно сказать, что здесь, внутри тега <si /> можно играть с настройками шрифта. Для этого используется доработанная напильником система пробегов, применяемая в MS Word (до него мы еще доберемся). Выглядит это примерно так:

	<si>
		<r>
			<t xml:space="preserve">Мама </t>
		</r>
		<r>
			<rPr>
				<b/>
			</rPr>
			<t>мыла</t>
		</r>
		<r>
			<rPr>
				<sz val="18"/>
			</rPr>
			<t xml:space="preserve"> раму</t>
		</r>
	</si>

Обратите внимание: в корневой тег <si/> в предыдущем примере был встроен непосредственно тег <t/>, содержавший текст. Здесь же он обернут тегом <r/>, то есть Run; по-русски его принято назвать «пробег». Пробег — это, если в двух словах — кусок текста, имеющий одинаковые стилевые настройки.

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

Первый:

<r>
	<t xml:space="preserve">Мама </t>
</r>

Этот пробег не содержит секции <rPr/>, поэтому использует стилевые настройки ячейки, в которой находится. В нем интересно другое: атрибут xml:space=«preserve». Дело в том, что по умолчанию что Excel, что Word обрезают концевые пробелы со всех пробегов. Может показаться, что в этом случае в месте стыка пробегов всегда должна получаться примерно такая картина: ВасяПетя. Но по опыту общения с тем же MS Word мы знаем, что это не так. Из-за чего? Вот как раз из-за xml:space=«preserve».

Второй:

<r>
	<rPr>
		<b/>
	</rPr>
	<t>мыла</t>
</r>

Здесь нет атрибута xml:space=«preserve». Нам без разницы, что Excel сделает с концевыми пробелами, которых нет. Зато есть блок <rPr/>. В принципе, в него можно поместить любые настройки шрифта, которые только есть в Excel. Я же сделал всего один, чтобы не раздувать объем примера.

Третий:

<r>
	<rPr>
		<sz val="18"/>
	</rPr>
	<t xml:space="preserve"> раму</t>
</r>

А здесь у нас есть и блок настроек шрифта и сохранение концевых пробелов.

Ну и еще коротенькая ремарка. Если есть необходимость сделать многострочную запись в ячейке, то здесь в строке просто будет обычный символ переноса, chr(10). Сам атрибут многострочности ячейки расположен в файле разметки листа. В однострочной ячейке символ переноса будет проигнорирован. Excel просто сделает вид, что его нет.

Перейдем в папку %file%/xl/worksheets. Здесь, как говорилось выше, каждый лист, содержащийся в книге, представлен файлом .xml.

Файл разметки листа содержит следующие ключевые элементы (и, что важно, желательно располагать их именно в таком порядке):

1. Тег <dimension>. Необязателен. Служит, насколько я смог понять, для указания системе размера занятой области, то есть на сколько прорисовывать строки и столбцы

2. Тег </sheetViews>. Необязателен, но иногда полезен. Я его использовал для указания на необходимость закрепления верхней строки: это полезно для больших отчетов. Выглядит это примерно так:

<sheetViews>
	<sheetView tabSelected="1" workbookViewId="0">
		<pane ySplit="1" topLeftCell="A2" activePane="bottomRight" state="frozen"/>
	</sheetView>
</sheetViews>

Здесь надо дать пояснение. Собственно закрепление строки — тег <pane />. И вот какие здесь использованы атрибуты:

  • ySplit — показывает количество закрепленных строк. Для закрепления столбцов есть аналогичный атрибут xSplit;
  • topLeftCell — указание левой верхней ячейки видимой по умолчанию НЕзакрепленной области;
  • activePane — указание местонахождения НЕзакрепленной области. В руководствах сказано, что этот атрибут регулирует, с какой стороны будет НЕзакрепленная область. Правда, попробовав разные значения, я почему-то получил одинаковый результат. Как вариант «by default» я для себя выбрал bottomRight;
  • state — указатель состояния закрепленной области. Для простого закрепления строки используется значение frozen

3. Тег <sheetFormatPr />. Пример:

<sheetFormatPr defaultRowHeight="15" x14ac:dyDescent="0.25"/>

Интересен нам здесь в основном атрибут defaultRowHeight, то есть высота столбца по умолчанию. Стандартный, привычный нам вариант — 15 у.е. Если назначить его, скажем, 30 у.е., то строки, для которых высота не указана отдельно, станут в 2 раза выше. Однако, для того чтоб применить значение, отличное от дефолтного, необходимо указать атрибут customHeight со значением «true». Выглядит это примерно так:

<sheetFormatPr defaultRowHeight="30" customHeight="true" x14ac:dyDescent="0.25"/>

4. Тег </cols>. Помогает установить ширину столбцов отличную от дефолтной. В заполненном виде выглядит примерно так:

<cols>
	<col min="1" max="2" width="9" customWidth="1"/>
	<col min="3" max="4" width="16" customWidth="1"/>
	<col min="5" max="6" width="66" customWidth="1"/>
	<col min="7" max="8" width="42" customWidth="1"/>
</cols>

Вложенные теги </col> обозначают не каждый один столбец, как могло показаться, а группу столбцов, идущих подряд и имеющих единую ширину.

  • Атрибут min — первый столбец группы;
  • Атрибут max — последний столбец группы;
  • Атрибут width — ширина столбца из группы;
  • Атрибут customWidth — флаг применения кастомной ширины, без него ширина все равно будет дефолтной;

5. Тег <sheetData> — это, собственно, зона, где хранится содержимое ячеек, или, в зависимости от типа, ссылок на него. В среднем выглядит он так:

<sheetData>
	<row r="1">
		<c r="A1" s="3" t="s"><v>0</v></c>
		<c r="B1" s="3" t="s"><v>1</v></c>
		<c r="C1" s="3" t="s"><v>2</v></c>
	</row>
	<row r="2">
		<c r="A2" s="2"><v>1</v></c>
		<c r="B2" s="2"><v>37539</v></c>
		<c r="C2" s="2" t="s"><v>14</v></c>
	</row>
	<row r="3">
		<c r="A3" s="2"><v>2</v></c>
		<c r="B3" s="2"><v>33227</v></c>
		<c r="C3" s="2" t="s"><v>21</v></c>
	</row>
</sheetData>

Как видно, в тег <sheetData> вложены теги <row> с атрибутом «r», обозначающим фактический (а не порядковый) номер строки: надо помнить, что, скажем, строка 1 может быть пустой, а строка 2 — нет.

«Букв, что ли, пожалели?» — спросите вы. «Экономия памяти» — ответит Microsoft. Если вспомнить про ограничение в 16 миллионов с гаком ячеек, становится понятна их мотивация. Выходит, в теории один (!) лишний символ в имени атрибута может привести к миллионам лишних символов при чтении всего файла.

В тег <row /> вложены теги <с /> — ячейки. В примере видно, что основных атрибутов у ячейки три:

  • r — адрес ячейки;
  • s — стиль ячейки. Вспоминаем первую часть данной статьи: в файле styles.xml есть раздел <cellXfs />, в котором перечислены зарегистрированные стили оформления ячеек. атрибут «s» тега <с /> — как раз ссылка на элемент этого списка, начиная с 0;
  • t — указание на необходимость обращения к таблице строковых значений в файле sharedStrings.xml. Если атрибут указан — обращаемся, если нет — пишем как есть то, что в теле тега. Примечательно, что при попытке вписать в тело тега текст без указания данного атрибута, Excel при открытии файла ругнется, но послушно перенесет нашу фразу туда, где ей место (хотя я на его сообразительность рекомендую не полагаться и сразу писать строки в sharedStrings.xml);

Когда я говорил про файл sharedStrings.xml, я упомянул, что многострочные ячейки помечаются в файле разметки листа. Делается это, к примеру, так:

<row r="1" spans="1:9" ht="45" customHeight="1" x14ac:dyDescent="0.3">
	<c r="A1" s="2" t="s"><v>3</v></c>
</row>

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

6. Тег <mergeCells />. Как мы знаем, в Excel есть возможность объединения ячеек. Все объединенные ячейки на листе перечислены здесь. В заполненном виде тег выглядит примерно так:

<mergeCells count="40">
	<mergeCell ref="G15:I15"/>
	<mergeCell ref="E3:F3"/>
	<mergeCell ref="E4:F4"/>
</mergeCells>

Как видно, одна объединенная ячейка обозначена одним тегом <mergeCell /> с единственным атрибутом ref, задающим диапазон объединения.

7. Тег <autoFilter />. Фильтры, которые так любят видеть в отчетах наши пользователи. В заполненном виде тег выглядит так:

<autoFilter ref="A1:N1"/>

Нетрудно понять, что атрибут «ref» задает зону, занимаемую активными ячейками фильтров.

Ну и «на сладкое» в файле идут настройки страницы для печати. Вот пример из одного моего файла:

<pageMargins left="0.7" right="0.7" top="0.75" bottom="0.75" header="0.3" footer="0.3"/>
<pageSetup paperSize="9" orientation="portrait" r:id="rId1"/>

Тег <pageMargins /> задает поля, а тег <pageSetup /> — предпочтительные настройки бумаги.

В комментариях к первой части была просьба поговорить собственно о редактировании этого чуда техники средствами PL/SQL. Следующая часть будет именно об этом.

Понравилась статья? Поделить с друзьями:
  • Как установить атрибут word
  • Как установить английский excel
  • Как установить альбомную ориентацию страницы в ms word
  • Как установить альбомную ориентацию в excel
  • Как установить алгоритм шифрования в word